package twi.sparql.grammer;

// $ANTLR 3.0.1 C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g 2008-06-09 20:43:59

import org.antlr.runtime.BaseRecognizer;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonToken;
import org.antlr.runtime.DFA;
import org.antlr.runtime.EarlyExitException;
import org.antlr.runtime.Lexer;
import org.antlr.runtime.MismatchedSetException;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.Token;

public class twi_sparqlLexer extends Lexer {
	public static final int PREFIX = 6;
	public static final int EXPONENT = 90;
	public static final int CLOSE_SQUARE_BRACE = 38;
	public static final int GRAPH = 29;
	public static final int REGEX = 64;
	public static final int PNAME_LN = 81;
	public static final int CONSTRUCT = 12;
	public static final int NOT = 53;
	public static final int EOF = -1;
	public static final int VARNAME = 87;
	public static final int ISLITERAL = 63;
	public static final int GREATER = 47;
	public static final int EOL = 83;
	public static final int NOT_EQUAL = 45;
	public static final int LESS = 46;
	public static final int LANGMATCHES = 56;
	public static final int DOUBLE = 68;
	public static final int BASE = 4;
	public static final int PN_CHARS_U = 92;
	public static final int COMMENT = 94;
	public static final int SELECT = 8;
	public static final int OPEN_CURLY_BRACE = 25;
	public static final int CLOSE_CURLY_BRACE = 27;
	public static final int DOUBLE_POSITIVE = 71;
	public static final int BOUND = 58;
	public static final int DIVIDE = 52;
	public static final int ISIRI = 60;
	public static final int A = 36;
	public static final int ASC = 20;
	public static final int BLANK_NODE_LABEL = 82;
	public static final int ASK = 14;
	public static final int SEMICOLON = 35;
	public static final int ISBLANK = 62;
	public static final int WS = 84;
	public static final int INTEGER_POSITIVE = 69;
	public static final int NAMED = 16;
	public static final int STRING_LITERAL2 = 78;
	public static final int OR = 42;
	public static final int STRING_LITERAL1 = 77;
	public static final int DESCRIBE = 13;
	public static final int FILTER = 31;
	public static final int PN_CHARS = 93;
	public static final int DATATYPE = 57;
	public static final int LESS_EQUAL = 48;
	public static final int DOUBLE_NEGATIVE = 74;
	public static final int FROM = 15;
	public static final int FALSE = 76;
	public static final int DISTINCT = 9;
	public static final int LANG = 55;
	public static final int IRI_REF = 5;
	public static final int WHERE = 17;
	public static final int ORDER = 18;
	public static final int LIMIT = 22;
	public static final int AND = 43;
	public static final int ASTERISK = 11;
	public static final int ISURI = 61;
	public static final int STR = 54;
	public static final int SAMETERM = 59;
	public static final int COMMA = 34;
	public static final int OFFSET = 24;
	public static final int EQUAL = 44;
	public static final int DECIMAL_POSITIVE = 70;
	public static final int PLUS = 50;
	public static final int DIGIT = 89;
	public static final int DOT = 26;
	public static final int INTEGER = 23;
	public static final int BY = 19;
	public static final int REDUCED = 10;
	public static final int INTEGER_NEGATIVE = 72;
	public static final int PN_LOCAL = 86;
	public static final int PNAME_NS = 7;
	public static final int REFERENCE = 66;
	public static final int CLOSE_BRACE = 33;
	public static final int MINUS = 51;
	public static final int Tokens = 96;
	public static final int TRUE = 75;
	public static final int OPEN_SQUARE_BRACE = 37;
	public static final int UNION = 30;
	public static final int ECHAR = 91;
	public static final int OPTIONAL = 28;
	public static final int ANY = 95;
	public static final int STRING_LITERAL_LONG2 = 80;
	public static final int PN_CHARS_BASE = 88;
	public static final int DECIMAL = 67;
	public static final int VAR1 = 39;
	public static final int VAR2 = 40;
	public static final int STRING_LITERAL_LONG1 = 79;
	public static final int DECIMAL_NEGATIVE = 73;
	public static final int PN_PREFIX = 85;
	public static final int VAR3 = 41;
	public static final int DESC = 21;
	public static final int OPEN_BRACE = 32;
	public static final int GREATER_EQUAL = 49;
	public static final int LANGTAG = 65;

	public twi_sparqlLexer() {
		;
	}

	public twi_sparqlLexer(CharStream input) {
		super(input);
	}

	public String getGrammarFileName() {
		return "C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g";
	}

	// $ANTLR start WS
	public final void mWS() throws RecognitionException {
		try {
			int _type = WS;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:417:5: ( ( ' ' |
			// '\\t' | EOL )+ )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:417:7: ( ' ' | '\\t'
			// | EOL )+
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:417:7: ( ' ' |
				// '\\t' | EOL )+
				int cnt1 = 0;
				loop1: do {
					int alt1 = 2;
					int LA1_0 = input.LA(1);

					if (((LA1_0 >= '\t' && LA1_0 <= '\n') || LA1_0 == '\r' || LA1_0 == ' ')) {
						alt1 = 1;
					}

					switch (alt1) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
					{
						if ((input.LA(1) >= '\t' && input.LA(1) <= '\n')
								|| input.LA(1) == '\r' || input.LA(1) == ' ') {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						if (cnt1 >= 1)
							break loop1;
						EarlyExitException eee = new EarlyExitException(1,
								input);
						throw eee;
					}
					cnt1++;
				} while (true);

				skip();
				channel = HIDDEN;

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end WS

	// $ANTLR start PNAME_NS
	public final void mPNAME_NS() throws RecognitionException {
		try {
			int _type = PNAME_NS;
			Token p = null;

			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:421:5: ( (p=
			// PN_PREFIX )? ':' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:421:7: (p= PN_PREFIX
			// )? ':'
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:421:8: (p=
				// PN_PREFIX )?
				int alt2 = 2;
				int LA2_0 = input.LA(1);

				if (((LA2_0 >= 'A' && LA2_0 <= 'Z')
						|| (LA2_0 >= 'a' && LA2_0 <= 'z')
						|| (LA2_0 >= '\u00C0' && LA2_0 <= '\u00D6')
						|| (LA2_0 >= '\u00D8' && LA2_0 <= '\u00F6')
						|| (LA2_0 >= '\u00F8' && LA2_0 <= '\u02FF')
						|| (LA2_0 >= '\u0370' && LA2_0 <= '\u037D')
						|| (LA2_0 >= '\u037F' && LA2_0 <= '\u1FFF')
						|| (LA2_0 >= '\u200C' && LA2_0 <= '\u200D')
						|| (LA2_0 >= '\u2070' && LA2_0 <= '\u218F')
						|| (LA2_0 >= '\u2C00' && LA2_0 <= '\u2FEF')
						|| (LA2_0 >= '\u3001' && LA2_0 <= '\uD7FF')
						|| (LA2_0 >= '\uF900' && LA2_0 <= '\uFDCF') || (LA2_0 >= '\uFDF0' && LA2_0 <= '\uFFFD'))) {
					alt2 = 1;
				}
				switch (alt2) {
				case 1:
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:421:8: p=
					// PN_PREFIX
				{
					int pStart48 = getCharIndex();
					mPN_PREFIX();
					p = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
							Token.DEFAULT_CHANNEL, pStart48, getCharIndex() - 1);

				}
					break;

				}

				match(':');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end PNAME_NS

	// $ANTLR start PNAME_LN
	public final void mPNAME_LN() throws RecognitionException {
		try {
			int _type = PNAME_LN;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:425:5: ( PNAME_NS
			// PN_LOCAL )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:425:7: PNAME_NS
			// PN_LOCAL
			{
				mPNAME_NS();
				mPN_LOCAL();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end PNAME_LN

	// $ANTLR start BASE
	public final void mBASE() throws RecognitionException {
		try {
			int _type = BASE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:429:5: ( ( 'B' | 'b'
			// ) ( 'A' | 'a' ) ( 'S' | 's' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:429:7: ( 'B' | 'b' )
			// ( 'A' | 'a' ) ( 'S' | 's' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'B' || input.LA(1) == 'b') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end BASE

	// $ANTLR start PREFIX
	public final void mPREFIX() throws RecognitionException {
		try {
			int _type = PREFIX;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:433:5: ( ( 'P' | 'p'
			// ) ( 'R' | 'r' ) ( 'E' | 'e' ) ( 'F' | 'f' ) ( 'I' | 'i' ) ( 'X' |
			// 'x' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:433:7: ( 'P' | 'p' )
			// ( 'R' | 'r' ) ( 'E' | 'e' ) ( 'F' | 'f' ) ( 'I' | 'i' ) ( 'X' |
			// 'x' )
			{
				if (input.LA(1) == 'P' || input.LA(1) == 'p') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'X' || input.LA(1) == 'x') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end PREFIX

	// $ANTLR start SELECT
	public final void mSELECT() throws RecognitionException {
		try {
			int _type = SELECT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:437:5: ( ( 'S' | 's'
			// ) ( 'E' | 'e' ) ( 'L' | 'l' ) ( 'E' | 'e' ) ( 'C' | 'c' ) ( 'T' |
			// 't' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:437:7: ( 'S' | 's' )
			// ( 'E' | 'e' ) ( 'L' | 'l' ) ( 'E' | 'e' ) ( 'C' | 'c' ) ( 'T' |
			// 't' )
			{
				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end SELECT

	// $ANTLR start DISTINCT
	public final void mDISTINCT() throws RecognitionException {
		try {
			int _type = DISTINCT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:441:5: ( ( 'D' | 'd'
			// ) ( 'I' | 'i' ) ( 'S' | 's' ) ( 'T' | 't' ) ( 'I' | 'i' ) ( 'N' |
			// 'n' ) ( 'C' | 'c' ) ( 'T' | 't' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:441:7: ( 'D' | 'd' )
			// ( 'I' | 'i' ) ( 'S' | 's' ) ( 'T' | 't' ) ( 'I' | 'i' ) ( 'N' |
			// 'n' ) ( 'C' | 'c' ) ( 'T' | 't' )
			{
				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DISTINCT

	// $ANTLR start REDUCED
	public final void mREDUCED() throws RecognitionException {
		try {
			int _type = REDUCED;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:445:5: ( ( 'R' | 'r'
			// ) ( 'E' | 'e' ) ( 'D' | 'd' ) ( 'U' | 'u' ) ( 'C' | 'c' ) ( 'E' |
			// 'e' ) ( 'D' | 'd' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:445:7: ( 'R' | 'r' )
			// ( 'E' | 'e' ) ( 'D' | 'd' ) ( 'U' | 'u' ) ( 'C' | 'c' ) ( 'E' |
			// 'e' ) ( 'D' | 'd' )
			{
				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end REDUCED

	// $ANTLR start CONSTRUCT
	public final void mCONSTRUCT() throws RecognitionException {
		try {
			int _type = CONSTRUCT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:449:5: ( ( 'C' | 'c'
			// ) ( 'O' | 'o' ) ( 'N' | 'n' ) ( 'S' | 's' ) ( 'T' | 't' ) ( 'R' |
			// 'r' ) ( 'U' | 'u' ) ( 'C' | 'c' ) ( 'T' | 't' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:449:7: ( 'C' | 'c' )
			// ( 'O' | 'o' ) ( 'N' | 'n' ) ( 'S' | 's' ) ( 'T' | 't' ) ( 'R' |
			// 'r' ) ( 'U' | 'u' ) ( 'C' | 'c' ) ( 'T' | 't' )
			{
				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end CONSTRUCT

	// $ANTLR start DESCRIBE
	public final void mDESCRIBE() throws RecognitionException {
		try {
			int _type = DESCRIBE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:453:5: ( ( 'D' | 'd'
			// ) ( 'E' | 'e' ) ( 'S' | 's' ) ( 'C' | 'c' ) ( 'R' | 'r' ) ( 'I' |
			// 'i' ) ( 'B' | 'b' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:453:7: ( 'D' | 'd' )
			// ( 'E' | 'e' ) ( 'S' | 's' ) ( 'C' | 'c' ) ( 'R' | 'r' ) ( 'I' |
			// 'i' ) ( 'B' | 'b' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'B' || input.LA(1) == 'b') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DESCRIBE

	// $ANTLR start ASK
	public final void mASK() throws RecognitionException {
		try {
			int _type = ASK;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:457:5: ( ( 'A' | 'a'
			// ) ( 'S' | 's' ) ( 'K' | 'k' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:457:7: ( 'A' | 'a' )
			// ( 'S' | 's' ) ( 'K' | 'k' )
			{
				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'K' || input.LA(1) == 'k') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ASK

	// $ANTLR start FROM
	public final void mFROM() throws RecognitionException {
		try {
			int _type = FROM;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:461:5: ( ( 'F' | 'f'
			// ) ( 'R' | 'r' ) ( 'O' | 'o' ) ( 'M' | 'm' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:461:7: ( 'F' | 'f' )
			// ( 'R' | 'r' ) ( 'O' | 'o' ) ( 'M' | 'm' )
			{
				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end FROM

	// $ANTLR start NAMED
	public final void mNAMED() throws RecognitionException {
		try {
			int _type = NAMED;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:465:5: ( ( 'N' | 'n'
			// ) ( 'A' | 'a' ) ( 'M' | 'm' ) ( 'E' | 'e' ) ( 'D' | 'd' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:465:7: ( 'N' | 'n' )
			// ( 'A' | 'a' ) ( 'M' | 'm' ) ( 'E' | 'e' ) ( 'D' | 'd' )
			{
				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end NAMED

	// $ANTLR start WHERE
	public final void mWHERE() throws RecognitionException {
		try {
			int _type = WHERE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:469:5: ( ( 'W' | 'w'
			// ) ( 'H' | 'h' ) ( 'E' | 'e' ) ( 'R' | 'r' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:469:7: ( 'W' | 'w' )
			// ( 'H' | 'h' ) ( 'E' | 'e' ) ( 'R' | 'r' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'W' || input.LA(1) == 'w') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'H' || input.LA(1) == 'h') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end WHERE

	// $ANTLR start ORDER
	public final void mORDER() throws RecognitionException {
		try {
			int _type = ORDER;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:473:5: ( ( 'O' | 'o'
			// ) ( 'R' | 'r' ) ( 'D' | 'd' ) ( 'E' | 'e' ) ( 'R' | 'r' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:473:7: ( 'O' | 'o' )
			// ( 'R' | 'r' ) ( 'D' | 'd' ) ( 'E' | 'e' ) ( 'R' | 'r' )
			{
				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ORDER

	// $ANTLR start BY
	public final void mBY() throws RecognitionException {
		try {
			int _type = BY;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:477:5: ( ( 'B' | 'b'
			// ) ( 'Y' | 'y' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:477:7: ( 'B' | 'b' )
			// ( 'Y' | 'y' )
			{
				if (input.LA(1) == 'B' || input.LA(1) == 'b') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'Y' || input.LA(1) == 'y') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end BY

	// $ANTLR start ASC
	public final void mASC() throws RecognitionException {
		try {
			int _type = ASC;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:481:5: ( ( 'A' | 'a'
			// ) ( 'S' | 's' ) ( 'C' | 'c' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:481:7: ( 'A' | 'a' )
			// ( 'S' | 's' ) ( 'C' | 'c' )
			{
				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ASC

	// $ANTLR start DESC
	public final void mDESC() throws RecognitionException {
		try {
			int _type = DESC;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:485:5: ( ( 'D' | 'd'
			// ) ( 'E' | 'e' ) ( 'S' | 's' ) ( 'C' | 'c' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:485:7: ( 'D' | 'd' )
			// ( 'E' | 'e' ) ( 'S' | 's' ) ( 'C' | 'c' )
			{
				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DESC

	// $ANTLR start LIMIT
	public final void mLIMIT() throws RecognitionException {
		try {
			int _type = LIMIT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:489:5: ( ( 'L' | 'l'
			// ) ( 'I' | 'i' ) ( 'M' | 'm' ) ( 'I' | 'i' ) ( 'T' | 't' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:489:7: ( 'L' | 'l' )
			// ( 'I' | 'i' ) ( 'M' | 'm' ) ( 'I' | 'i' ) ( 'T' | 't' )
			{
				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LIMIT

	// $ANTLR start OFFSET
	public final void mOFFSET() throws RecognitionException {
		try {
			int _type = OFFSET;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:493:5: ( ( 'O' | 'o'
			// ) ( 'F' | 'f' ) ( 'F' | 'f' ) ( 'S' | 's' ) ( 'E' | 'e' ) ( 'T' |
			// 't' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:493:7: ( 'O' | 'o' )
			// ( 'F' | 'f' ) ( 'F' | 'f' ) ( 'S' | 's' ) ( 'E' | 'e' ) ( 'T' |
			// 't' )
			{
				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OFFSET

	// $ANTLR start OPTIONAL
	public final void mOPTIONAL() throws RecognitionException {
		try {
			int _type = OPTIONAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:497:5: ( ( 'O' | 'o'
			// ) ( 'P' | 'p' ) ( 'T' | 't' ) ( 'I' | 'i' ) ( 'O' | 'o' ) ( 'N' |
			// 'n' ) ( 'A' | 'a' ) ( 'L' | 'l' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:497:7: ( 'O' | 'o' )
			// ( 'P' | 'p' ) ( 'T' | 't' ) ( 'I' | 'i' ) ( 'O' | 'o' ) ( 'N' |
			// 'n' ) ( 'A' | 'a' ) ( 'L' | 'l' )
			{
				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'P' || input.LA(1) == 'p') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OPTIONAL

	// $ANTLR start GRAPH
	public final void mGRAPH() throws RecognitionException {
		try {
			int _type = GRAPH;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:501:5: ( ( 'G' | 'g'
			// ) ( 'R' | 'r' ) ( 'A' | 'a' ) ( 'P' | 'p' ) ( 'H' | 'h' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:501:7: ( 'G' | 'g' )
			// ( 'R' | 'r' ) ( 'A' | 'a' ) ( 'P' | 'p' ) ( 'H' | 'h' )
			{
				if (input.LA(1) == 'G' || input.LA(1) == 'g') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'P' || input.LA(1) == 'p') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'H' || input.LA(1) == 'h') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end GRAPH

	// $ANTLR start UNION
	public final void mUNION() throws RecognitionException {
		try {
			int _type = UNION;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:505:5: ( ( 'U' | 'u'
			// ) ( 'N' | 'n' ) ( 'I' | 'i' ) ( 'O' | 'o' ) ( 'N' | 'n' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:505:7: ( 'U' | 'u' )
			// ( 'N' | 'n' ) ( 'I' | 'i' ) ( 'O' | 'o' ) ( 'N' | 'n' )
			{
				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end UNION

	// $ANTLR start FILTER
	public final void mFILTER() throws RecognitionException {
		try {
			int _type = FILTER;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:509:5: ( ( 'F' | 'f'
			// ) ( 'I' | 'i' ) ( 'L' | 'l' ) ( 'T' | 't' ) ( 'E' | 'e' ) ( 'R' |
			// 'r' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:509:7: ( 'F' | 'f' )
			// ( 'I' | 'i' ) ( 'L' | 'l' ) ( 'T' | 't' ) ( 'E' | 'e' ) ( 'R' |
			// 'r' )
			{
				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end FILTER

	// $ANTLR start A
	public final void mA() throws RecognitionException {
		try {
			int _type = A;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:513:5: ( 'a' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:513:7: 'a'
			{
				match('a');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end A

	// $ANTLR start STR
	public final void mSTR() throws RecognitionException {
		try {
			int _type = STR;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:517:5: ( ( 'S' | 's'
			// ) ( 'T' | 't' ) ( 'R' | 'r' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:517:7: ( 'S' | 's' )
			// ( 'T' | 't' ) ( 'R' | 'r' )
			{
				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end STR

	// $ANTLR start LANG
	public final void mLANG() throws RecognitionException {
		try {
			int _type = LANG;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:521:5: ( ( 'L' | 'l'
			// ) ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'G' | 'g' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:521:7: ( 'L' | 'l' )
			// ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'G' | 'g' )
			{
				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'G' || input.LA(1) == 'g') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LANG

	// $ANTLR start LANGMATCHES
	public final void mLANGMATCHES() throws RecognitionException {
		try {
			int _type = LANGMATCHES;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:525:5: ( ( 'L' | 'l'
			// ) ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'G' | 'g' ) ( 'M' | 'm' ) ( 'A' |
			// 'a' ) ( 'T' | 't' ) ( 'C' | 'c' ) ( 'H' | 'h' ) ( 'E' | 'e' ) (
			// 'S' | 's' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:525:7: ( 'L' | 'l' )
			// ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'G' | 'g' ) ( 'M' | 'm' ) ( 'A' |
			// 'a' ) ( 'T' | 't' ) ( 'C' | 'c' ) ( 'H' | 'h' ) ( 'E' | 'e' ) (
			// 'S' | 's' )
			{
				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'G' || input.LA(1) == 'g') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'C' || input.LA(1) == 'c') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'H' || input.LA(1) == 'h') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LANGMATCHES

	// $ANTLR start DATATYPE
	public final void mDATATYPE() throws RecognitionException {
		try {
			int _type = DATATYPE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:529:5: ( ( 'D' | 'd'
			// ) ( 'A' | 'a' ) ( 'T' | 't' ) ( 'A' | 'a' ) ( 'T' | 't' ) ( 'Y' |
			// 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:529:7: ( 'D' | 'd' )
			// ( 'A' | 'a' ) ( 'T' | 't' ) ( 'A' | 'a' ) ( 'T' | 't' ) ( 'Y' |
			// 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'Y' || input.LA(1) == 'y') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'P' || input.LA(1) == 'p') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DATATYPE

	// $ANTLR start BOUND
	public final void mBOUND() throws RecognitionException {
		try {
			int _type = BOUND;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:533:5: ( ( 'B' | 'b'
			// ) ( 'O' | 'o' ) ( 'U' | 'u' ) ( 'N' | 'n' ) ( 'D' | 'd' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:533:7: ( 'B' | 'b' )
			// ( 'O' | 'o' ) ( 'U' | 'u' ) ( 'N' | 'n' ) ( 'D' | 'd' )
			{
				if (input.LA(1) == 'B' || input.LA(1) == 'b') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'O' || input.LA(1) == 'o') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'D' || input.LA(1) == 'd') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end BOUND

	// $ANTLR start SAMETERM
	public final void mSAMETERM() throws RecognitionException {
		try {
			int _type = SAMETERM;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:537:5: ( ( 'S' | 's'
			// ) ( 'A' | 'a' ) ( 'M' | 'm' ) ( 'E' | 'e' ) ( 'T' | 't' ) ( 'E' |
			// 'e' ) ( 'R' | 'r' ) ( 'M' | 'm' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:537:7: ( 'S' | 's' )
			// ( 'A' | 'a' ) ( 'M' | 'm' ) ( 'E' | 'e' ) ( 'T' | 't' ) ( 'E' |
			// 'e' ) ( 'R' | 'r' ) ( 'M' | 'm' )
			{
				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'M' || input.LA(1) == 'm') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end SAMETERM

	// $ANTLR start ISIRI
	public final void mISIRI() throws RecognitionException {
		try {
			int _type = ISIRI;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:541:5: ( ( 'I' | 'i'
			// ) ( 'S' | 's' ) ( 'I' | 'i' ) ( 'R' | 'r' ) ( 'I' | 'i' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:541:7: ( 'I' | 'i' )
			// ( 'S' | 's' ) ( 'I' | 'i' ) ( 'R' | 'r' ) ( 'I' | 'i' )
			{
				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ISIRI

	// $ANTLR start ISURI
	public final void mISURI() throws RecognitionException {
		try {
			int _type = ISURI;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:545:5: ( ( 'I' | 'i'
			// ) ( 'S' | 's' ) ( 'U' | 'u' ) ( 'R' | 'r' ) ( 'I' | 'i' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:545:7: ( 'I' | 'i' )
			// ( 'S' | 's' ) ( 'U' | 'u' ) ( 'R' | 'r' ) ( 'I' | 'i' )
			{
				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ISURI

	// $ANTLR start ISBLANK
	public final void mISBLANK() throws RecognitionException {
		try {
			int _type = ISBLANK;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:549:5: ( ( 'I' | 'i'
			// ) ( 'S' | 's' ) ( 'B' | 'b' ) ( 'L' | 'l' ) ( 'A' | 'a' ) ( 'N' |
			// 'n' ) ( 'K' | 'k' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:549:7: ( 'I' | 'i' )
			// ( 'S' | 's' ) ( 'B' | 'b' ) ( 'L' | 'l' ) ( 'A' | 'a' ) ( 'N' |
			// 'n' ) ( 'K' | 'k' )
			{
				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'B' || input.LA(1) == 'b') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'N' || input.LA(1) == 'n') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'K' || input.LA(1) == 'k') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ISBLANK

	// $ANTLR start ISLITERAL
	public final void mISLITERAL() throws RecognitionException {
		try {
			int _type = ISLITERAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:553:5: ( ( 'I' | 'i'
			// ) ( 'S' | 's' ) ( 'L' | 'l' ) ( 'I' | 'i' ) ( 'T' | 't' ) ( 'E' |
			// 'e' ) ( 'R' | 'r' ) ( 'A' | 'a' ) ( 'L' | 'l' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:553:7: ( 'I' | 'i' )
			// ( 'S' | 's' ) ( 'L' | 'l' ) ( 'I' | 'i' ) ( 'T' | 't' ) ( 'E' |
			// 'e' ) ( 'R' | 'r' ) ( 'A' | 'a' ) ( 'L' | 'l' )
			{
				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'I' || input.LA(1) == 'i') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ISLITERAL

	// $ANTLR start REGEX
	public final void mREGEX() throws RecognitionException {
		try {
			int _type = REGEX;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:557:5: ( ( 'R' | 'r'
			// ) ( 'E' | 'e' ) ( 'G' | 'g' ) ( 'E' | 'e' ) ( 'X' | 'x' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:557:7: ( 'R' | 'r' )
			// ( 'E' | 'e' ) ( 'G' | 'g' ) ( 'E' | 'e' ) ( 'X' | 'x' )
			{
				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'G' || input.LA(1) == 'g') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'X' || input.LA(1) == 'x') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end REGEX

	// $ANTLR start TRUE
	public final void mTRUE() throws RecognitionException {
		try {
			int _type = TRUE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:561:5: ( ( 'T' | 't'
			// ) ( 'R' | 'r' ) ( 'U' | 'u' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:561:7: ( 'T' | 't' )
			// ( 'R' | 'r' ) ( 'U' | 'u' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'T' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'R' || input.LA(1) == 'r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'U' || input.LA(1) == 'u') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end TRUE

	// $ANTLR start FALSE
	public final void mFALSE() throws RecognitionException {
		try {
			int _type = FALSE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:565:5: ( ( 'F' | 'f'
			// ) ( 'A' | 'a' ) ( 'L' | 'l' ) ( 'S' | 's' ) ( 'E' | 'e' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:565:7: ( 'F' | 'f' )
			// ( 'A' | 'a' ) ( 'L' | 'l' ) ( 'S' | 's' ) ( 'E' | 'e' )
			{
				if (input.LA(1) == 'F' || input.LA(1) == 'f') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'A' || input.LA(1) == 'a') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'L' || input.LA(1) == 'l') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'S' || input.LA(1) == 's') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end FALSE

	// $ANTLR start IRI_REF
	public final void mIRI_REF() throws RecognitionException {
		try {
			int _type = IRI_REF;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:569:5: ( LESS (
			// options {greedy=false; } : ~ ( LESS | GREATER | '\"' |
			// OPEN_CURLY_BRACE | CLOSE_CURLY_BRACE | '|' | '^' | '\\\\' | '`' |
			// ( '\\u0000' .. '\\u0020' ) ) )* GREATER )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:569:7: LESS (
			// options {greedy=false; } : ~ ( LESS | GREATER | '\"' |
			// OPEN_CURLY_BRACE | CLOSE_CURLY_BRACE | '|' | '^' | '\\\\' | '`' |
			// ( '\\u0000' .. '\\u0020' ) ) )* GREATER
			{
				mLESS();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:569:12: (
				// options {greedy=false; } : ~ ( LESS | GREATER | '\"' |
				// OPEN_CURLY_BRACE | CLOSE_CURLY_BRACE | '|' | '^' | '\\\\' |
				// '`' | ( '\\u0000' .. '\\u0020' ) ) )*
				loop3: do {
					int alt3 = 2;
					int LA3_0 = input.LA(1);

					if ((LA3_0 == '>')) {
						alt3 = 2;
					} else if ((LA3_0 == '!' || (LA3_0 >= '#' && LA3_0 <= ';')
							|| LA3_0 == '=' || (LA3_0 >= '?' && LA3_0 <= '[')
							|| LA3_0 == ']' || LA3_0 == '_'
							|| (LA3_0 >= 'a' && LA3_0 <= 'z') || (LA3_0 >= '~' && LA3_0 <= '\uFFFE'))) {
						alt3 = 1;
					}

					switch (alt3) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:569:40:
						// ~ ( LESS | GREATER | '\"' | OPEN_CURLY_BRACE |
						// CLOSE_CURLY_BRACE | '|' | '^' | '\\\\' | '`' | (
						// '\\u0000' .. '\\u0020' ) )
					{
						if (input.LA(1) == '!'
								|| (input.LA(1) >= '#' && input.LA(1) <= ';')
								|| input.LA(1) == '='
								|| (input.LA(1) >= '?' && input.LA(1) <= '[')
								|| input.LA(1) == ']'
								|| input.LA(1) == '_'
								|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
								|| (input.LA(1) >= '~' && input.LA(1) <= '\uFFFE')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						break loop3;
					}
				} while (true);

				mGREATER();
				setText(getText().substring(1, getText().length() - 1));

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end IRI_REF

	// $ANTLR start BLANK_NODE_LABEL
	public final void mBLANK_NODE_LABEL() throws RecognitionException {
		try {
			int _type = BLANK_NODE_LABEL;
			Token t = null;

			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:573:5: ( '_:' t=
			// PN_LOCAL )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:573:7: '_:' t=
			// PN_LOCAL
			{
				match("_:");

				int tStart1743 = getCharIndex();
				mPN_LOCAL();
				t = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
						Token.DEFAULT_CHANNEL, tStart1743, getCharIndex() - 1);
				setText(t.getText());

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end BLANK_NODE_LABEL

	// $ANTLR start VAR1
	public final void mVAR1() throws RecognitionException {
		try {
			int _type = VAR1;
			Token v = null;

			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:577:5: ( '?' v=
			// VARNAME )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:577:7: '?' v=
			// VARNAME
			{
				match('?');
				int vStart1767 = getCharIndex();
				mVARNAME();
				v = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
						Token.DEFAULT_CHANNEL, vStart1767, getCharIndex() - 1);
				setText("?" + v.getText());

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end VAR1

	// $ANTLR start VAR2
	public final void mVAR2() throws RecognitionException {
		try {
			int _type = VAR2;
			Token v = null;

			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:581:5: ( '$' v=
			// VARNAME )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:581:7: '$' v=
			// VARNAME
			{
				match('$');
				int vStart1791 = getCharIndex();
				mVARNAME();
				v = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
						Token.DEFAULT_CHANNEL, vStart1791, getCharIndex() - 1);
				setText("$" + v.getText());

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end VAR2

	// $ANTLR start VAR3
	public final void mVAR3() throws RecognitionException {
		try {
			int _type = VAR3;
			Token v = null;

			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:584:6: ( '!' v=
			// VARNAME )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:584:8: '!' v=
			// VARNAME
			{
				match('!');
				int vStart1815 = getCharIndex();
				mVARNAME();
				v = new CommonToken(input, Token.INVALID_TOKEN_TYPE,
						Token.DEFAULT_CHANNEL, vStart1815, getCharIndex() - 1);
				setText("!" + v.getText());

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end VAR3

	// $ANTLR start LANGTAG
	public final void mLANGTAG() throws RecognitionException {
		try {
			int _type = LANGTAG;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:5: ( '@' (
			// PN_CHARS_BASE )+ ( MINUS ( PN_CHARS_BASE DIGIT )+ )* )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:7: '@' (
			// PN_CHARS_BASE )+ ( MINUS ( PN_CHARS_BASE DIGIT )+ )*
			{
				match('@');
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:11: (
				// PN_CHARS_BASE )+
				int cnt4 = 0;
				loop4: do {
					int alt4 = 2;
					int LA4_0 = input.LA(1);

					if (((LA4_0 >= 'A' && LA4_0 <= 'Z')
							|| (LA4_0 >= 'a' && LA4_0 <= 'z')
							|| (LA4_0 >= '\u00C0' && LA4_0 <= '\u00D6')
							|| (LA4_0 >= '\u00D8' && LA4_0 <= '\u00F6')
							|| (LA4_0 >= '\u00F8' && LA4_0 <= '\u02FF')
							|| (LA4_0 >= '\u0370' && LA4_0 <= '\u037D')
							|| (LA4_0 >= '\u037F' && LA4_0 <= '\u1FFF')
							|| (LA4_0 >= '\u200C' && LA4_0 <= '\u200D')
							|| (LA4_0 >= '\u2070' && LA4_0 <= '\u218F')
							|| (LA4_0 >= '\u2C00' && LA4_0 <= '\u2FEF')
							|| (LA4_0 >= '\u3001' && LA4_0 <= '\uD7FF')
							|| (LA4_0 >= '\uF900' && LA4_0 <= '\uFDCF') || (LA4_0 >= '\uFDF0' && LA4_0 <= '\uFFFD'))) {
						alt4 = 1;
					}

					switch (alt4) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:11:
						// PN_CHARS_BASE
					{
						mPN_CHARS_BASE();

					}
						break;

					default:
						if (cnt4 >= 1)
							break loop4;
						EarlyExitException eee = new EarlyExitException(4,
								input);
						throw eee;
					}
					cnt4++;
				} while (true);

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:26: ( MINUS
				// ( PN_CHARS_BASE DIGIT )+ )*
				loop6: do {
					int alt6 = 2;
					int LA6_0 = input.LA(1);

					if ((LA6_0 == '-')) {
						alt6 = 1;
					}

					switch (alt6) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:27:
						// MINUS ( PN_CHARS_BASE DIGIT )+
					{
						mMINUS();
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:33:
						// ( PN_CHARS_BASE DIGIT )+
						int cnt5 = 0;
						loop5: do {
							int alt5 = 2;
							int LA5_0 = input.LA(1);

							if (((LA5_0 >= 'A' && LA5_0 <= 'Z')
									|| (LA5_0 >= 'a' && LA5_0 <= 'z')
									|| (LA5_0 >= '\u00C0' && LA5_0 <= '\u00D6')
									|| (LA5_0 >= '\u00D8' && LA5_0 <= '\u00F6')
									|| (LA5_0 >= '\u00F8' && LA5_0 <= '\u02FF')
									|| (LA5_0 >= '\u0370' && LA5_0 <= '\u037D')
									|| (LA5_0 >= '\u037F' && LA5_0 <= '\u1FFF')
									|| (LA5_0 >= '\u200C' && LA5_0 <= '\u200D')
									|| (LA5_0 >= '\u2070' && LA5_0 <= '\u218F')
									|| (LA5_0 >= '\u2C00' && LA5_0 <= '\u2FEF')
									|| (LA5_0 >= '\u3001' && LA5_0 <= '\uD7FF')
									|| (LA5_0 >= '\uF900' && LA5_0 <= '\uFDCF') || (LA5_0 >= '\uFDF0' && LA5_0 <= '\uFFFD'))) {
								alt5 = 1;
							}

							switch (alt5) {
							case 1:
								// C:\\Dokumente und
								// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:588:34:
								// PN_CHARS_BASE DIGIT
							{
								mPN_CHARS_BASE();
								mDIGIT();

							}
								break;

							default:
								if (cnt5 >= 1)
									break loop5;
								EarlyExitException eee = new EarlyExitException(
										5, input);
								throw eee;
							}
							cnt5++;
						} while (true);

					}
						break;

					default:
						break loop6;
					}
				} while (true);

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LANGTAG

	// $ANTLR start INTEGER
	public final void mINTEGER() throws RecognitionException {
		try {
			int _type = INTEGER;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:592:5: ( ( DIGIT )+
			// )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:592:7: ( DIGIT )+
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:592:7: ( DIGIT
				// )+
				int cnt7 = 0;
				loop7: do {
					int alt7 = 2;
					int LA7_0 = input.LA(1);

					if (((LA7_0 >= '0' && LA7_0 <= '9'))) {
						alt7 = 1;
					}

					switch (alt7) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:592:7:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt7 >= 1)
							break loop7;
						EarlyExitException eee = new EarlyExitException(7,
								input);
						throw eee;
					}
					cnt7++;
				} while (true);

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end INTEGER

	// $ANTLR start DECIMAL
	public final void mDECIMAL() throws RecognitionException {
		try {
			int _type = DECIMAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:5: ( ( DIGIT )+
			// DOT ( DIGIT )* | DOT ( DIGIT )+ )
			int alt11 = 2;
			int LA11_0 = input.LA(1);

			if (((LA11_0 >= '0' && LA11_0 <= '9'))) {
				alt11 = 1;
			} else if ((LA11_0 == '.')) {
				alt11 = 2;
			} else {
				NoViableAltException nvae = new NoViableAltException(
						"595:1: DECIMAL : ( ( DIGIT )+ DOT ( DIGIT )* | DOT ( DIGIT )+ );",
						11, 0, input);

				throw nvae;
			}
			switch (alt11) {
			case 1:
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:7: ( DIGIT
				// )+ DOT ( DIGIT )*
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:7: ( DIGIT
				// )+
				int cnt8 = 0;
				loop8: do {
					int alt8 = 2;
					int LA8_0 = input.LA(1);

					if (((LA8_0 >= '0' && LA8_0 <= '9'))) {
						alt8 = 1;
					}

					switch (alt8) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:7:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt8 >= 1)
							break loop8;
						EarlyExitException eee = new EarlyExitException(8,
								input);
						throw eee;
					}
					cnt8++;
				} while (true);

				mDOT();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:18: ( DIGIT
				// )*
				loop9: do {
					int alt9 = 2;
					int LA9_0 = input.LA(1);

					if (((LA9_0 >= '0' && LA9_0 <= '9'))) {
						alt9 = 1;
					}

					switch (alt9) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:596:18:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						break loop9;
					}
				} while (true);

			}
				break;
			case 2:
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:597:7: DOT (
				// DIGIT )+
			{
				mDOT();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:597:11: ( DIGIT
				// )+
				int cnt10 = 0;
				loop10: do {
					int alt10 = 2;
					int LA10_0 = input.LA(1);

					if (((LA10_0 >= '0' && LA10_0 <= '9'))) {
						alt10 = 1;
					}

					switch (alt10) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:597:11:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt10 >= 1)
							break loop10;
						EarlyExitException eee = new EarlyExitException(10,
								input);
						throw eee;
					}
					cnt10++;
				} while (true);

			}
				break;

			}
			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DECIMAL

	// $ANTLR start DOUBLE
	public final void mDOUBLE() throws RecognitionException {
		try {
			int _type = DOUBLE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:5: ( ( DIGIT )+
			// DOT ( DIGIT )* EXPONENT | DOT ( DIGIT )+ EXPONENT | ( DIGIT )+
			// EXPONENT )
			int alt16 = 3;
			alt16 = dfa16.predict(input);
			switch (alt16) {
			case 1:
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:7: ( DIGIT
				// )+ DOT ( DIGIT )* EXPONENT
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:7: ( DIGIT
				// )+
				int cnt12 = 0;
				loop12: do {
					int alt12 = 2;
					int LA12_0 = input.LA(1);

					if (((LA12_0 >= '0' && LA12_0 <= '9'))) {
						alt12 = 1;
					}

					switch (alt12) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:7:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt12 >= 1)
							break loop12;
						EarlyExitException eee = new EarlyExitException(12,
								input);
						throw eee;
					}
					cnt12++;
				} while (true);

				mDOT();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:18: ( DIGIT
				// )*
				loop13: do {
					int alt13 = 2;
					int LA13_0 = input.LA(1);

					if (((LA13_0 >= '0' && LA13_0 <= '9'))) {
						alt13 = 1;
					}

					switch (alt13) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:601:18:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						break loop13;
					}
				} while (true);

				mEXPONENT();

			}
				break;
			case 2:
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:602:7: DOT (
				// DIGIT )+ EXPONENT
			{
				mDOT();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:602:11: ( DIGIT
				// )+
				int cnt14 = 0;
				loop14: do {
					int alt14 = 2;
					int LA14_0 = input.LA(1);

					if (((LA14_0 >= '0' && LA14_0 <= '9'))) {
						alt14 = 1;
					}

					switch (alt14) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:602:11:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt14 >= 1)
							break loop14;
						EarlyExitException eee = new EarlyExitException(14,
								input);
						throw eee;
					}
					cnt14++;
				} while (true);

				mEXPONENT();

			}
				break;
			case 3:
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:603:7: ( DIGIT
				// )+ EXPONENT
			{
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:603:7: ( DIGIT
				// )+
				int cnt15 = 0;
				loop15: do {
					int alt15 = 2;
					int LA15_0 = input.LA(1);

					if (((LA15_0 >= '0' && LA15_0 <= '9'))) {
						alt15 = 1;
					}

					switch (alt15) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:603:7:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt15 >= 1)
							break loop15;
						EarlyExitException eee = new EarlyExitException(15,
								input);
						throw eee;
					}
					cnt15++;
				} while (true);

				mEXPONENT();

			}
				break;

			}
			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DOUBLE

	// $ANTLR start INTEGER_POSITIVE
	public final void mINTEGER_POSITIVE() throws RecognitionException {
		try {
			int _type = INTEGER_POSITIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:607:5: ( PLUS
			// INTEGER )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:607:7: PLUS INTEGER
			{
				mPLUS();
				mINTEGER();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end INTEGER_POSITIVE

	// $ANTLR start DECIMAL_POSITIVE
	public final void mDECIMAL_POSITIVE() throws RecognitionException {
		try {
			int _type = DECIMAL_POSITIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:611:5: ( PLUS
			// DECIMAL )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:611:7: PLUS DECIMAL
			{
				mPLUS();
				mDECIMAL();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DECIMAL_POSITIVE

	// $ANTLR start DOUBLE_POSITIVE
	public final void mDOUBLE_POSITIVE() throws RecognitionException {
		try {
			int _type = DOUBLE_POSITIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:615:5: ( PLUS DOUBLE
			// )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:615:7: PLUS DOUBLE
			{
				mPLUS();
				mDOUBLE();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DOUBLE_POSITIVE

	// $ANTLR start INTEGER_NEGATIVE
	public final void mINTEGER_NEGATIVE() throws RecognitionException {
		try {
			int _type = INTEGER_NEGATIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:619:5: ( MINUS
			// INTEGER )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:619:7: MINUS INTEGER
			{
				mMINUS();
				mINTEGER();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end INTEGER_NEGATIVE

	// $ANTLR start DECIMAL_NEGATIVE
	public final void mDECIMAL_NEGATIVE() throws RecognitionException {
		try {
			int _type = DECIMAL_NEGATIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:623:5: ( MINUS
			// DECIMAL )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:623:7: MINUS DECIMAL
			{
				mMINUS();
				mDECIMAL();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DECIMAL_NEGATIVE

	// $ANTLR start DOUBLE_NEGATIVE
	public final void mDOUBLE_NEGATIVE() throws RecognitionException {
		try {
			int _type = DOUBLE_NEGATIVE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:627:5: ( MINUS
			// DOUBLE )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:627:7: MINUS DOUBLE
			{
				mMINUS();
				mDOUBLE();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DOUBLE_NEGATIVE

	// $ANTLR start EXPONENT
	public final void mEXPONENT() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:632:5: ( ( 'e' | 'E'
			// ) ( PLUS | MINUS )? ( DIGIT )+ )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:632:7: ( 'e' | 'E' )
			// ( PLUS | MINUS )? ( DIGIT )+
			{
				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:632:17: ( PLUS |
				// MINUS )?
				int alt17 = 2;
				int LA17_0 = input.LA(1);

				if ((LA17_0 == '+' || LA17_0 == '-')) {
					alt17 = 1;
				}
				switch (alt17) {
				case 1:
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
				{
					if (input.LA(1) == '+' || input.LA(1) == '-') {
						input.consume();

					} else {
						MismatchedSetException mse = new MismatchedSetException(
								null, input);
						recover(mse);
						throw mse;
					}

				}
					break;

				}

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:632:31: ( DIGIT
				// )+
				int cnt18 = 0;
				loop18: do {
					int alt18 = 2;
					int LA18_0 = input.LA(1);

					if (((LA18_0 >= '0' && LA18_0 <= '9'))) {
						alt18 = 1;
					}

					switch (alt18) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:632:31:
						// DIGIT
					{
						mDIGIT();

					}
						break;

					default:
						if (cnt18 >= 1)
							break loop18;
						EarlyExitException eee = new EarlyExitException(18,
								input);
						throw eee;
					}
					cnt18++;
				} while (true);

			}

		} finally {
		}
	}

	// $ANTLR end EXPONENT

	// $ANTLR start STRING_LITERAL1
	public final void mSTRING_LITERAL1() throws RecognitionException {
		try {
			int _type = STRING_LITERAL1;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:636:5: ( '\\'' (
			// options {greedy=false; } : ~ ( '\\u0027' | '\\u005C' | '\
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:636:7: '\\'' (
			// options {greedy=false; } : ~ ( '\\u0027' | '\\u005C' | '\
			{
				match('\'');
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:636:12: (
				// options {greedy=false; } : ~ ( '\\u0027' | '\\u005C' | '\
				loop19: do {
					int alt19 = 3;
					int LA19_0 = input.LA(1);

					if ((LA19_0 == '\'')) {
						alt19 = 3;
					} else if (((LA19_0 >= '\u0000' && LA19_0 <= '\t')
							|| (LA19_0 >= '\u000B' && LA19_0 <= '\f')
							|| (LA19_0 >= '\u000E' && LA19_0 <= '&')
							|| (LA19_0 >= '(' && LA19_0 <= '[') || (LA19_0 >= ']' && LA19_0 <= '\uFFFE'))) {
						alt19 = 1;
					} else if ((LA19_0 == '\\')) {
						alt19 = 2;
					}

					switch (alt19) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:636:40:
						// ~ ( '\\u0027' | '\\u005C' | '\
					{
						if ((input.LA(1) >= '\u0000' && input.LA(1) <= '\t')
								|| (input.LA(1) >= '\u000B' && input.LA(1) <= '\f')
								|| (input.LA(1) >= '\u000E' && input.LA(1) <= '&')
								|| (input.LA(1) >= '(' && input.LA(1) <= '[')
								|| (input.LA(1) >= ']' && input.LA(1) <= '\uFFFE')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;
					case 2:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:636:87:
						// ECHAR
					{
						mECHAR();

					}
						break;

					default:
						break loop19;
					}
				} while (true);

				match('\'');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end STRING_LITERAL1

	// $ANTLR start STRING_LITERAL2
	public final void mSTRING_LITERAL2() throws RecognitionException {
		try {
			int _type = STRING_LITERAL2;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:640:5: ( '\"' (
			// options {greedy=false; } : ~ ( '\\u0022' | '\\u005C' | '\
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:640:7: '\"' (
			// options {greedy=false; } : ~ ( '\\u0022' | '\\u005C' | '\
			{
				match('\"');
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:640:12: (
				// options {greedy=false; } : ~ ( '\\u0022' | '\\u005C' | '\
				loop20: do {
					int alt20 = 3;
					int LA20_0 = input.LA(1);

					if ((LA20_0 == '\"')) {
						alt20 = 3;
					} else if (((LA20_0 >= '\u0000' && LA20_0 <= '\t')
							|| (LA20_0 >= '\u000B' && LA20_0 <= '\f')
							|| (LA20_0 >= '\u000E' && LA20_0 <= '!')
							|| (LA20_0 >= '#' && LA20_0 <= '[') || (LA20_0 >= ']' && LA20_0 <= '\uFFFE'))) {
						alt20 = 1;
					} else if ((LA20_0 == '\\')) {
						alt20 = 2;
					}

					switch (alt20) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:640:40:
						// ~ ( '\\u0022' | '\\u005C' | '\
					{
						if ((input.LA(1) >= '\u0000' && input.LA(1) <= '\t')
								|| (input.LA(1) >= '\u000B' && input.LA(1) <= '\f')
								|| (input.LA(1) >= '\u000E' && input.LA(1) <= '!')
								|| (input.LA(1) >= '#' && input.LA(1) <= '[')
								|| (input.LA(1) >= ']' && input.LA(1) <= '\uFFFE')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;
					case 2:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:640:87:
						// ECHAR
					{
						mECHAR();

					}
						break;

					default:
						break loop20;
					}
				} while (true);

				match('\"');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end STRING_LITERAL2

	// $ANTLR start STRING_LITERAL_LONG1
	public final void mSTRING_LITERAL_LONG1() throws RecognitionException {
		try {
			int _type = STRING_LITERAL_LONG1;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:5: ( '\\'\\'\\''
			// ( options {greedy=false; } : ( '\\'' | '\\'\\'' )? (~ ( '\\'' |
			// '\\\\' ) | ECHAR ) )* '\\'\\'\\'' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:9: '\\'\\'\\'' (
			// options {greedy=false; } : ( '\\'' | '\\'\\'' )? (~ ( '\\'' |
			// '\\\\' ) | ECHAR ) )* '\\'\\'\\''
			{
				match("\'\'\'");

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:18: (
				// options {greedy=false; } : ( '\\'' | '\\'\\'' )? (~ ( '\\'' |
				// '\\\\' ) | ECHAR ) )*
				loop23: do {
					int alt23 = 2;
					int LA23_0 = input.LA(1);

					if ((LA23_0 == '\'')) {
						int LA23_1 = input.LA(2);

						if ((LA23_1 == '\'')) {
							int LA23_3 = input.LA(3);

							if ((LA23_3 == '\'')) {
								alt23 = 2;
							} else if (((LA23_3 >= '\u0000' && LA23_3 <= '&') || (LA23_3 >= '(' && LA23_3 <= '\uFFFE'))) {
								alt23 = 1;
							}

						} else if (((LA23_1 >= '\u0000' && LA23_1 <= '&') || (LA23_1 >= '(' && LA23_1 <= '\uFFFE'))) {
							alt23 = 1;
						}

					} else if (((LA23_0 >= '\u0000' && LA23_0 <= '&') || (LA23_0 >= '(' && LA23_0 <= '\uFFFE'))) {
						alt23 = 1;
					}

					switch (alt23) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:46:
						// ( '\\'' | '\\'\\'' )? (~ ( '\\'' | '\\\\' ) | ECHAR )
					{
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:46:
						// ( '\\'' | '\\'\\'' )?
						int alt21 = 3;
						int LA21_0 = input.LA(1);

						if ((LA21_0 == '\'')) {
							int LA21_1 = input.LA(2);

							if ((LA21_1 == '\'')) {
								alt21 = 2;
							} else if (((LA21_1 >= '\u0000' && LA21_1 <= '&') || (LA21_1 >= '(' && LA21_1 <= '\uFFFE'))) {
								alt21 = 1;
							}
						}
						switch (alt21) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:48:
							// '\\''
						{
							match('\'');

						}
							break;
						case 2:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:55:
							// '\\'\\''
						{
							match("\'\'");

						}
							break;

						}

						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:65:
						// (~ ( '\\'' | '\\\\' ) | ECHAR )
						int alt22 = 2;
						int LA22_0 = input.LA(1);

						if (((LA22_0 >= '\u0000' && LA22_0 <= '&')
								|| (LA22_0 >= '(' && LA22_0 <= '[') || (LA22_0 >= ']' && LA22_0 <= '\uFFFE'))) {
							alt22 = 1;
						} else if ((LA22_0 == '\\')) {
							alt22 = 2;
						} else {
							NoViableAltException nvae = new NoViableAltException(
									"644:65: (~ ( '\\'' | '\\\\' ) | ECHAR )",
									22, 0, input);

							throw nvae;
						}
						switch (alt22) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:67:
							// ~ ( '\\'' | '\\\\' )
						{
							if ((input.LA(1) >= '\u0000' && input.LA(1) <= '&')
									|| (input.LA(1) >= '(' && input.LA(1) <= '[')
									|| (input.LA(1) >= ']' && input.LA(1) <= '\uFFFE')) {
								input.consume();

							} else {
								MismatchedSetException mse = new MismatchedSetException(
										null, input);
								recover(mse);
								throw mse;
							}

						}
							break;
						case 2:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:644:82:
							// ECHAR
						{
							mECHAR();

						}
							break;

						}

					}
						break;

					default:
						break loop23;
					}
				} while (true);

				match("\'\'\'");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end STRING_LITERAL_LONG1

	// $ANTLR start STRING_LITERAL_LONG2
	public final void mSTRING_LITERAL_LONG2() throws RecognitionException {
		try {
			int _type = STRING_LITERAL_LONG2;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:5: ( '\"\"\"' (
			// options {greedy=false; } : ( '\"' | '\"\"' )? (~ ( '\"' | '\\\\'
			// ) | ECHAR ) )* '\"\"\"' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:9: '\"\"\"' (
			// options {greedy=false; } : ( '\"' | '\"\"' )? (~ ( '\"' | '\\\\'
			// ) | ECHAR ) )* '\"\"\"'
			{
				match("\"\"\"");

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:15: (
				// options {greedy=false; } : ( '\"' | '\"\"' )? (~ ( '\"' |
				// '\\\\' ) | ECHAR ) )*
				loop26: do {
					int alt26 = 2;
					int LA26_0 = input.LA(1);

					if ((LA26_0 == '\"')) {
						int LA26_1 = input.LA(2);

						if ((LA26_1 == '\"')) {
							int LA26_3 = input.LA(3);

							if ((LA26_3 == '\"')) {
								alt26 = 2;
							} else if (((LA26_3 >= '\u0000' && LA26_3 <= '!') || (LA26_3 >= '#' && LA26_3 <= '\uFFFE'))) {
								alt26 = 1;
							}

						} else if (((LA26_1 >= '\u0000' && LA26_1 <= '!') || (LA26_1 >= '#' && LA26_1 <= '\uFFFE'))) {
							alt26 = 1;
						}

					} else if (((LA26_0 >= '\u0000' && LA26_0 <= '!') || (LA26_0 >= '#' && LA26_0 <= '\uFFFE'))) {
						alt26 = 1;
					}

					switch (alt26) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:43:
						// ( '\"' | '\"\"' )? (~ ( '\"' | '\\\\' ) | ECHAR )
					{
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:43:
						// ( '\"' | '\"\"' )?
						int alt24 = 3;
						int LA24_0 = input.LA(1);

						if ((LA24_0 == '\"')) {
							int LA24_1 = input.LA(2);

							if ((LA24_1 == '\"')) {
								alt24 = 2;
							} else if (((LA24_1 >= '\u0000' && LA24_1 <= '!') || (LA24_1 >= '#' && LA24_1 <= '\uFFFE'))) {
								alt24 = 1;
							}
						}
						switch (alt24) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:45:
							// '\"'
						{
							match('\"');

						}
							break;
						case 2:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:51:
							// '\"\"'
						{
							match("\"\"");

						}
							break;

						}

						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:59:
						// (~ ( '\"' | '\\\\' ) | ECHAR )
						int alt25 = 2;
						int LA25_0 = input.LA(1);

						if (((LA25_0 >= '\u0000' && LA25_0 <= '!')
								|| (LA25_0 >= '#' && LA25_0 <= '[') || (LA25_0 >= ']' && LA25_0 <= '\uFFFE'))) {
							alt25 = 1;
						} else if ((LA25_0 == '\\')) {
							alt25 = 2;
						} else {
							NoViableAltException nvae = new NoViableAltException(
									"648:59: (~ ( '\"' | '\\\\' ) | ECHAR )",
									25, 0, input);

							throw nvae;
						}
						switch (alt25) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:61:
							// ~ ( '\"' | '\\\\' )
						{
							if ((input.LA(1) >= '\u0000' && input.LA(1) <= '!')
									|| (input.LA(1) >= '#' && input.LA(1) <= '[')
									|| (input.LA(1) >= ']' && input.LA(1) <= '\uFFFE')) {
								input.consume();

							} else {
								MismatchedSetException mse = new MismatchedSetException(
										null, input);
								recover(mse);
								throw mse;
							}

						}
							break;
						case 2:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:648:75:
							// ECHAR
						{
							mECHAR();

						}
							break;

						}

					}
						break;

					default:
						break loop26;
					}
				} while (true);

				match("\"\"\"");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end STRING_LITERAL_LONG2

	// $ANTLR start ECHAR
	public final void mECHAR() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:653:5: ( '\\\\' (
			// 't' | 'b' | 'n' | 'r' | 'f' | '\\\\' | '\"' | '\\'' ) )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:653:7: '\\\\' ( 't'
			// | 'b' | 'n' | 'r' | 'f' | '\\\\' | '\"' | '\\'' )
			{
				match('\\');
				if (input.LA(1) == '\"' || input.LA(1) == '\''
						|| input.LA(1) == '\\' || input.LA(1) == 'b'
						|| input.LA(1) == 'f' || input.LA(1) == 'n'
						|| input.LA(1) == 'r' || input.LA(1) == 't') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

		} finally {
		}
	}

	// $ANTLR end ECHAR

	// $ANTLR start PN_CHARS_U
	public final void mPN_CHARS_U() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:658:5: (
			// PN_CHARS_BASE | '_' )
			// C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
			{
				if ((input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| input.LA(1) == '_'
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
						|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
						|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
						|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')
						|| (input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')
						|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
						|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
						|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
						|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
						|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
						|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
						|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

		} finally {
		}
	}

	// $ANTLR end PN_CHARS_U

	// $ANTLR start VARNAME
	public final void mVARNAME() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:663:5: ( (
			// PN_CHARS_U | DIGIT ) ( PN_CHARS_U | DIGIT | '\\u00B7' | '\\u0300'
			// .. '\\u036F' | '\\u203F' .. '\\u2040' )* )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:663:7: ( PN_CHARS_U
			// | DIGIT ) ( PN_CHARS_U | DIGIT | '\\u00B7' | '\\u0300' ..
			// '\\u036F' | '\\u203F' .. '\\u2040' )*
			{
				if ((input.LA(1) >= '0' && input.LA(1) <= '9')
						|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| input.LA(1) == '_'
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
						|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
						|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
						|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')
						|| (input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')
						|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
						|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
						|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
						|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
						|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
						|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
						|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:663:30: (
				// PN_CHARS_U | DIGIT | '\\u00B7' | '\\u0300' .. '\\u036F' |
				// '\\u203F' .. '\\u2040' )*
				loop27: do {
					int alt27 = 2;
					int LA27_0 = input.LA(1);

					if (((LA27_0 >= '0' && LA27_0 <= '9')
							|| (LA27_0 >= 'A' && LA27_0 <= 'Z')
							|| LA27_0 == '_'
							|| (LA27_0 >= 'a' && LA27_0 <= 'z')
							|| LA27_0 == '\u00B7'
							|| (LA27_0 >= '\u00C0' && LA27_0 <= '\u00D6')
							|| (LA27_0 >= '\u00D8' && LA27_0 <= '\u00F6')
							|| (LA27_0 >= '\u00F8' && LA27_0 <= '\u037D')
							|| (LA27_0 >= '\u037F' && LA27_0 <= '\u1FFF')
							|| (LA27_0 >= '\u200C' && LA27_0 <= '\u200D')
							|| (LA27_0 >= '\u203F' && LA27_0 <= '\u2040')
							|| (LA27_0 >= '\u2070' && LA27_0 <= '\u218F')
							|| (LA27_0 >= '\u2C00' && LA27_0 <= '\u2FEF')
							|| (LA27_0 >= '\u3001' && LA27_0 <= '\uD7FF')
							|| (LA27_0 >= '\uF900' && LA27_0 <= '\uFDCF') || (LA27_0 >= '\uFDF0' && LA27_0 <= '\uFFFD'))) {
						alt27 = 1;
					}

					switch (alt27) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
					{
						if ((input.LA(1) >= '0' && input.LA(1) <= '9')
								|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
								|| input.LA(1) == '_'
								|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
								|| input.LA(1) == '\u00B7'
								|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
								|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
								|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')
								|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
								|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
								|| (input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')
								|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
								|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
								|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
								|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
								|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						break loop27;
					}
				} while (true);

			}

		} finally {
		}
	}

	// $ANTLR end VARNAME

	// $ANTLR start PN_CHARS
	public final void mPN_CHARS() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:668:5: ( PN_CHARS_U
			// | MINUS | DIGIT | '\\u00B7' | '\\u0300' .. '\\u036F' | '\\u203F'
			// .. '\\u2040' )
			// C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
			{
				if (input.LA(1) == '-'
						|| (input.LA(1) >= '0' && input.LA(1) <= '9')
						|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| input.LA(1) == '_'
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
						|| input.LA(1) == '\u00B7'
						|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
						|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
						|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')
						|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
						|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
						|| (input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')
						|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
						|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
						|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
						|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
						|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

		} finally {
		}
	}

	// $ANTLR end PN_CHARS

	// $ANTLR start PN_PREFIX
	public final void mPN_PREFIX() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:678:5: (
			// PN_CHARS_BASE ( ( PN_CHARS | DOT )* PN_CHARS )? )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:678:7: PN_CHARS_BASE
			// ( ( PN_CHARS | DOT )* PN_CHARS )?
			{
				mPN_CHARS_BASE();
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:678:21: ( (
				// PN_CHARS | DOT )* PN_CHARS )?
				int alt29 = 2;
				int LA29_0 = input.LA(1);

				if (((LA29_0 >= '-' && LA29_0 <= '.')
						|| (LA29_0 >= '0' && LA29_0 <= '9')
						|| (LA29_0 >= 'A' && LA29_0 <= 'Z') || LA29_0 == '_'
						|| (LA29_0 >= 'a' && LA29_0 <= 'z')
						|| LA29_0 == '\u00B7'
						|| (LA29_0 >= '\u00C0' && LA29_0 <= '\u00D6')
						|| (LA29_0 >= '\u00D8' && LA29_0 <= '\u00F6')
						|| (LA29_0 >= '\u00F8' && LA29_0 <= '\u037D')
						|| (LA29_0 >= '\u037F' && LA29_0 <= '\u1FFF')
						|| (LA29_0 >= '\u200C' && LA29_0 <= '\u200D')
						|| (LA29_0 >= '\u203F' && LA29_0 <= '\u2040')
						|| (LA29_0 >= '\u2070' && LA29_0 <= '\u218F')
						|| (LA29_0 >= '\u2C00' && LA29_0 <= '\u2FEF')
						|| (LA29_0 >= '\u3001' && LA29_0 <= '\uD7FF')
						|| (LA29_0 >= '\uF900' && LA29_0 <= '\uFDCF') || (LA29_0 >= '\uFDF0' && LA29_0 <= '\uFFFD'))) {
					alt29 = 1;
				}
				switch (alt29) {
				case 1:
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:678:22: (
					// PN_CHARS | DOT )* PN_CHARS
				{
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:678:22: (
					// PN_CHARS | DOT )*
					loop28: do {
						int alt28 = 2;
						int LA28_0 = input.LA(1);

						if ((LA28_0 == '-' || (LA28_0 >= '0' && LA28_0 <= '9')
								|| (LA28_0 >= 'A' && LA28_0 <= 'Z')
								|| LA28_0 == '_'
								|| (LA28_0 >= 'a' && LA28_0 <= 'z')
								|| LA28_0 == '\u00B7'
								|| (LA28_0 >= '\u00C0' && LA28_0 <= '\u00D6')
								|| (LA28_0 >= '\u00D8' && LA28_0 <= '\u00F6')
								|| (LA28_0 >= '\u00F8' && LA28_0 <= '\u037D')
								|| (LA28_0 >= '\u037F' && LA28_0 <= '\u1FFF')
								|| (LA28_0 >= '\u200C' && LA28_0 <= '\u200D')
								|| (LA28_0 >= '\u203F' && LA28_0 <= '\u2040')
								|| (LA28_0 >= '\u2070' && LA28_0 <= '\u218F')
								|| (LA28_0 >= '\u2C00' && LA28_0 <= '\u2FEF')
								|| (LA28_0 >= '\u3001' && LA28_0 <= '\uD7FF')
								|| (LA28_0 >= '\uF900' && LA28_0 <= '\uFDCF') || (LA28_0 >= '\uFDF0' && LA28_0 <= '\uFFFD'))) {
							int LA28_1 = input.LA(2);

							if (((LA28_1 >= '-' && LA28_1 <= '.')
									|| (LA28_1 >= '0' && LA28_1 <= '9')
									|| (LA28_1 >= 'A' && LA28_1 <= 'Z')
									|| LA28_1 == '_'
									|| (LA28_1 >= 'a' && LA28_1 <= 'z')
									|| LA28_1 == '\u00B7'
									|| (LA28_1 >= '\u00C0' && LA28_1 <= '\u00D6')
									|| (LA28_1 >= '\u00D8' && LA28_1 <= '\u00F6')
									|| (LA28_1 >= '\u00F8' && LA28_1 <= '\u037D')
									|| (LA28_1 >= '\u037F' && LA28_1 <= '\u1FFF')
									|| (LA28_1 >= '\u200C' && LA28_1 <= '\u200D')
									|| (LA28_1 >= '\u203F' && LA28_1 <= '\u2040')
									|| (LA28_1 >= '\u2070' && LA28_1 <= '\u218F')
									|| (LA28_1 >= '\u2C00' && LA28_1 <= '\u2FEF')
									|| (LA28_1 >= '\u3001' && LA28_1 <= '\uD7FF')
									|| (LA28_1 >= '\uF900' && LA28_1 <= '\uFDCF') || (LA28_1 >= '\uFDF0' && LA28_1 <= '\uFFFD'))) {
								alt28 = 1;
							}

						} else if ((LA28_0 == '.')) {
							alt28 = 1;
						}

						switch (alt28) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
						{
							if ((input.LA(1) >= '-' && input.LA(1) <= '.')
									|| (input.LA(1) >= '0' && input.LA(1) <= '9')
									|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
									|| input.LA(1) == '_'
									|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
									|| input.LA(1) == '\u00B7'
									|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
									|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
									|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')
									|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
									|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
									|| (input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')
									|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
									|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
									|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
									|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
									|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
								input.consume();

							} else {
								MismatchedSetException mse = new MismatchedSetException(
										null, input);
								recover(mse);
								throw mse;
							}

						}
							break;

						default:
							break loop28;
						}
					} while (true);

					mPN_CHARS();

				}
					break;

				}

			}

		} finally {
		}
	}

	// $ANTLR end PN_PREFIX

	// $ANTLR start PN_LOCAL
	public final void mPN_LOCAL() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:683:5: ( (
			// PN_CHARS_U | DIGIT ) ( ( PN_CHARS | DOT )* PN_CHARS )? )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:683:7: ( PN_CHARS_U
			// | DIGIT ) ( ( PN_CHARS | DOT )* PN_CHARS )?
			{
				if ((input.LA(1) >= '0' && input.LA(1) <= '9')
						|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| input.LA(1) == '_'
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
						|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
						|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
						|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')
						|| (input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')
						|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
						|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
						|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
						|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
						|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
						|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
						|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:683:30: ( (
				// PN_CHARS | DOT )* PN_CHARS )?
				int alt31 = 2;
				int LA31_0 = input.LA(1);

				if (((LA31_0 >= '-' && LA31_0 <= '.')
						|| (LA31_0 >= '0' && LA31_0 <= '9')
						|| (LA31_0 >= 'A' && LA31_0 <= 'Z') || LA31_0 == '_'
						|| (LA31_0 >= 'a' && LA31_0 <= 'z')
						|| LA31_0 == '\u00B7'
						|| (LA31_0 >= '\u00C0' && LA31_0 <= '\u00D6')
						|| (LA31_0 >= '\u00D8' && LA31_0 <= '\u00F6')
						|| (LA31_0 >= '\u00F8' && LA31_0 <= '\u037D')
						|| (LA31_0 >= '\u037F' && LA31_0 <= '\u1FFF')
						|| (LA31_0 >= '\u200C' && LA31_0 <= '\u200D')
						|| (LA31_0 >= '\u203F' && LA31_0 <= '\u2040')
						|| (LA31_0 >= '\u2070' && LA31_0 <= '\u218F')
						|| (LA31_0 >= '\u2C00' && LA31_0 <= '\u2FEF')
						|| (LA31_0 >= '\u3001' && LA31_0 <= '\uD7FF')
						|| (LA31_0 >= '\uF900' && LA31_0 <= '\uFDCF') || (LA31_0 >= '\uFDF0' && LA31_0 <= '\uFFFD'))) {
					alt31 = 1;
				}
				switch (alt31) {
				case 1:
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:683:31: (
					// PN_CHARS | DOT )* PN_CHARS
				{
					// C:\\Dokumente und
					// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:683:31: (
					// PN_CHARS | DOT )*
					loop30: do {
						int alt30 = 2;
						int LA30_0 = input.LA(1);

						if ((LA30_0 == '-' || (LA30_0 >= '0' && LA30_0 <= '9')
								|| (LA30_0 >= 'A' && LA30_0 <= 'Z')
								|| LA30_0 == '_'
								|| (LA30_0 >= 'a' && LA30_0 <= 'z')
								|| LA30_0 == '\u00B7'
								|| (LA30_0 >= '\u00C0' && LA30_0 <= '\u00D6')
								|| (LA30_0 >= '\u00D8' && LA30_0 <= '\u00F6')
								|| (LA30_0 >= '\u00F8' && LA30_0 <= '\u037D')
								|| (LA30_0 >= '\u037F' && LA30_0 <= '\u1FFF')
								|| (LA30_0 >= '\u200C' && LA30_0 <= '\u200D')
								|| (LA30_0 >= '\u203F' && LA30_0 <= '\u2040')
								|| (LA30_0 >= '\u2070' && LA30_0 <= '\u218F')
								|| (LA30_0 >= '\u2C00' && LA30_0 <= '\u2FEF')
								|| (LA30_0 >= '\u3001' && LA30_0 <= '\uD7FF')
								|| (LA30_0 >= '\uF900' && LA30_0 <= '\uFDCF') || (LA30_0 >= '\uFDF0' && LA30_0 <= '\uFFFD'))) {
							int LA30_1 = input.LA(2);

							if (((LA30_1 >= '-' && LA30_1 <= '.')
									|| (LA30_1 >= '0' && LA30_1 <= '9')
									|| (LA30_1 >= 'A' && LA30_1 <= 'Z')
									|| LA30_1 == '_'
									|| (LA30_1 >= 'a' && LA30_1 <= 'z')
									|| LA30_1 == '\u00B7'
									|| (LA30_1 >= '\u00C0' && LA30_1 <= '\u00D6')
									|| (LA30_1 >= '\u00D8' && LA30_1 <= '\u00F6')
									|| (LA30_1 >= '\u00F8' && LA30_1 <= '\u037D')
									|| (LA30_1 >= '\u037F' && LA30_1 <= '\u1FFF')
									|| (LA30_1 >= '\u200C' && LA30_1 <= '\u200D')
									|| (LA30_1 >= '\u203F' && LA30_1 <= '\u2040')
									|| (LA30_1 >= '\u2070' && LA30_1 <= '\u218F')
									|| (LA30_1 >= '\u2C00' && LA30_1 <= '\u2FEF')
									|| (LA30_1 >= '\u3001' && LA30_1 <= '\uD7FF')
									|| (LA30_1 >= '\uF900' && LA30_1 <= '\uFDCF') || (LA30_1 >= '\uFDF0' && LA30_1 <= '\uFFFD'))) {
								alt30 = 1;
							}

						} else if ((LA30_0 == '.')) {
							alt30 = 1;
						}

						switch (alt30) {
						case 1:
							// C:\\Dokumente und
							// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
						{
							if ((input.LA(1) >= '-' && input.LA(1) <= '.')
									|| (input.LA(1) >= '0' && input.LA(1) <= '9')
									|| (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
									|| input.LA(1) == '_'
									|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
									|| input.LA(1) == '\u00B7'
									|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
									|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
									|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u037D')
									|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
									|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
									|| (input.LA(1) >= '\u203F' && input.LA(1) <= '\u2040')
									|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
									|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
									|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
									|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
									|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
								input.consume();

							} else {
								MismatchedSetException mse = new MismatchedSetException(
										null, input);
								recover(mse);
								throw mse;
							}

						}
							break;

						default:
							break loop30;
						}
					} while (true);

					mPN_CHARS();

				}
					break;

				}

			}

		} finally {
		}
	}

	// $ANTLR end PN_LOCAL

	// $ANTLR start PN_CHARS_BASE
	public final void mPN_CHARS_BASE() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:688:5: ( 'A' .. 'Z'
			// | 'a' .. 'z' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' |
			// '\\u00F8' .. '\\u02FF' | '\\u0370' .. '\\u037D' | '\\u037F' ..
			// '\\u1FFF' | '\\u200C' .. '\\u200D' | '\\u2070' .. '\\u218F' |
			// '\\u2C00' .. '\\u2FEF' | '\\u3001' .. '\\uD7FF' | '\\uF900' ..
			// '\\uFDCF' | '\\uFDF0' .. '\\uFFFD' )
			// C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
			{
				if ((input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')
						|| (input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')
						|| (input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')
						|| (input.LA(1) >= '\u00F8' && input.LA(1) <= '\u02FF')
						|| (input.LA(1) >= '\u0370' && input.LA(1) <= '\u037D')
						|| (input.LA(1) >= '\u037F' && input.LA(1) <= '\u1FFF')
						|| (input.LA(1) >= '\u200C' && input.LA(1) <= '\u200D')
						|| (input.LA(1) >= '\u2070' && input.LA(1) <= '\u218F')
						|| (input.LA(1) >= '\u2C00' && input.LA(1) <= '\u2FEF')
						|| (input.LA(1) >= '\u3001' && input.LA(1) <= '\uD7FF')
						|| (input.LA(1) >= '\uF900' && input.LA(1) <= '\uFDCF')
						|| (input.LA(1) >= '\uFDF0' && input.LA(1) <= '\uFFFD')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

		} finally {
		}
	}

	// $ANTLR end PN_CHARS_BASE

	// $ANTLR start DIGIT
	public final void mDIGIT() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:705:5: ( '0' .. '9'
			// )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:705:7: '0' .. '9'
			{
				matchRange('0', '9');

			}

		} finally {
		}
	}

	// $ANTLR end DIGIT

	// $ANTLR start COMMENT
	public final void mCOMMENT() throws RecognitionException {
		try {
			int _type = COMMENT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:709:5: ( '#' (
			// options {greedy=false; } : . )* EOL )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:709:7: '#' ( options
			// {greedy=false; } : . )* EOL
			{
				match('#');
				// C:\\Dokumente und
				// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:709:11: (
				// options {greedy=false; } : . )*
				loop32: do {
					int alt32 = 2;
					int LA32_0 = input.LA(1);

					if ((LA32_0 == '\n' || LA32_0 == '\r')) {
						alt32 = 2;
					} else if (((LA32_0 >= '\u0000' && LA32_0 <= '\t')
							|| (LA32_0 >= '\u000B' && LA32_0 <= '\f') || (LA32_0 >= '\u000E' && LA32_0 <= '\uFFFE'))) {
						alt32 = 1;
					}

					switch (alt32) {
					case 1:
						// C:\\Dokumente und
						// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:709:38:
						// .
					{
						matchAny();

					}
						break;

					default:
						break loop32;
					}
				} while (true);

				mEOL();
				channel = HIDDEN;

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end COMMENT

	// $ANTLR start EOL
	public final void mEOL() throws RecognitionException {
		try {
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:714:5: ( '\\n' |
			// '\\r' )
			// C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g:
			{
				if (input.LA(1) == '\n' || input.LA(1) == '\r') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

			}

		} finally {
		}
	}

	// $ANTLR end EOL

	// $ANTLR start REFERENCE
	public final void mREFERENCE() throws RecognitionException {
		try {
			int _type = REFERENCE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:718:5: ( '^^' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:718:7: '^^'
			{
				match("^^");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end REFERENCE

	// $ANTLR start LESS_EQUAL
	public final void mLESS_EQUAL() throws RecognitionException {
		try {
			int _type = LESS_EQUAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:722:5: ( '<=' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:722:7: '<='
			{
				match("<=");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LESS_EQUAL

	// $ANTLR start GREATER_EQUAL
	public final void mGREATER_EQUAL() throws RecognitionException {
		try {
			int _type = GREATER_EQUAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:726:5: ( '>=' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:726:7: '>='
			{
				match(">=");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end GREATER_EQUAL

	// $ANTLR start NOT_EQUAL
	public final void mNOT_EQUAL() throws RecognitionException {
		try {
			int _type = NOT_EQUAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:730:5: ( '!=' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:730:7: '!='
			{
				match("!=");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end NOT_EQUAL

	// $ANTLR start AND
	public final void mAND() throws RecognitionException {
		try {
			int _type = AND;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:734:5: ( '&&' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:734:7: '&&'
			{
				match("&&");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end AND

	// $ANTLR start OR
	public final void mOR() throws RecognitionException {
		try {
			int _type = OR;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:738:5: ( '||' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:738:7: '||'
			{
				match("||");

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OR

	// $ANTLR start OPEN_BRACE
	public final void mOPEN_BRACE() throws RecognitionException {
		try {
			int _type = OPEN_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:742:5: ( '(' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:742:7: '('
			{
				match('(');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OPEN_BRACE

	// $ANTLR start CLOSE_BRACE
	public final void mCLOSE_BRACE() throws RecognitionException {
		try {
			int _type = CLOSE_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:746:5: ( ')' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:746:7: ')'
			{
				match(')');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end CLOSE_BRACE

	// $ANTLR start OPEN_CURLY_BRACE
	public final void mOPEN_CURLY_BRACE() throws RecognitionException {
		try {
			int _type = OPEN_CURLY_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:750:5: ( '{' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:750:7: '{'
			{
				match('{');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OPEN_CURLY_BRACE

	// $ANTLR start CLOSE_CURLY_BRACE
	public final void mCLOSE_CURLY_BRACE() throws RecognitionException {
		try {
			int _type = CLOSE_CURLY_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:754:5: ( '}' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:754:7: '}'
			{
				match('}');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end CLOSE_CURLY_BRACE

	// $ANTLR start OPEN_SQUARE_BRACE
	public final void mOPEN_SQUARE_BRACE() throws RecognitionException {
		try {
			int _type = OPEN_SQUARE_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:758:5: ( '[' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:758:7: '['
			{
				match('[');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end OPEN_SQUARE_BRACE

	// $ANTLR start CLOSE_SQUARE_BRACE
	public final void mCLOSE_SQUARE_BRACE() throws RecognitionException {
		try {
			int _type = CLOSE_SQUARE_BRACE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:762:5: ( ']' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:762:7: ']'
			{
				match(']');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end CLOSE_SQUARE_BRACE

	// $ANTLR start SEMICOLON
	public final void mSEMICOLON() throws RecognitionException {
		try {
			int _type = SEMICOLON;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:766:5: ( ';' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:766:7: ';'
			{
				match(';');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end SEMICOLON

	// $ANTLR start DOT
	public final void mDOT() throws RecognitionException {
		try {
			int _type = DOT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:770:5: ( '.' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:770:7: '.'
			{
				match('.');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DOT

	// $ANTLR start PLUS
	public final void mPLUS() throws RecognitionException {
		try {
			int _type = PLUS;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:774:5: ( '+' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:774:7: '+'
			{
				match('+');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end PLUS

	// $ANTLR start MINUS
	public final void mMINUS() throws RecognitionException {
		try {
			int _type = MINUS;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:778:5: ( '-' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:778:7: '-'
			{
				match('-');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end MINUS

	// $ANTLR start ASTERISK
	public final void mASTERISK() throws RecognitionException {
		try {
			int _type = ASTERISK;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:782:5: ( '*' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:782:7: '*'
			{
				match('*');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ASTERISK

	// $ANTLR start COMMA
	public final void mCOMMA() throws RecognitionException {
		try {
			int _type = COMMA;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:786:5: ( ',' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:786:7: ','
			{
				match(',');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end COMMA

	// $ANTLR start NOT
	public final void mNOT() throws RecognitionException {
		try {
			int _type = NOT;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:790:5: ( '!' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:790:7: '!'
			{
				match('!');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end NOT

	// $ANTLR start DIVIDE
	public final void mDIVIDE() throws RecognitionException {
		try {
			int _type = DIVIDE;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:794:5: ( '/' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:794:7: '/'
			{
				match('/');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end DIVIDE

	// $ANTLR start EQUAL
	public final void mEQUAL() throws RecognitionException {
		try {
			int _type = EQUAL;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:798:5: ( '=' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:798:7: '='
			{
				match('=');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end EQUAL

	// $ANTLR start LESS
	public final void mLESS() throws RecognitionException {
		try {
			int _type = LESS;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:802:5: ( '<' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:802:7: '<'
			{
				match('<');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end LESS

	// $ANTLR start GREATER
	public final void mGREATER() throws RecognitionException {
		try {
			int _type = GREATER;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:806:5: ( '>' )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:806:7: '>'
			{
				match('>');

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end GREATER

	// $ANTLR start ANY
	public final void mANY() throws RecognitionException {
		try {
			int _type = ANY;
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:809:5: ( . )
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:809:7: .
			{
				matchAny();

			}

			this.type = _type;
		} finally {
		}
	}

	// $ANTLR end ANY

	public void mTokens() throws RecognitionException {
		// C:\\Dokumente und Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:8: (
		// WS | PNAME_NS | PNAME_LN | BASE | PREFIX | SELECT | DISTINCT |
		// REDUCED | CONSTRUCT | DESCRIBE | ASK | FROM | NAMED | WHERE | ORDER |
		// BY | ASC | DESC | LIMIT | OFFSET | OPTIONAL | GRAPH | UNION | FILTER
		// | A | STR | LANG | LANGMATCHES | DATATYPE | BOUND | SAMETERM | ISIRI
		// | ISURI | ISBLANK | ISLITERAL | REGEX | TRUE | FALSE | IRI_REF |
		// BLANK_NODE_LABEL | VAR1 | VAR2 | VAR3 | LANGTAG | INTEGER | DECIMAL |
		// DOUBLE | INTEGER_POSITIVE | DECIMAL_POSITIVE | DOUBLE_POSITIVE |
		// INTEGER_NEGATIVE | DECIMAL_NEGATIVE | DOUBLE_NEGATIVE |
		// STRING_LITERAL1 | STRING_LITERAL2 | STRING_LITERAL_LONG1 |
		// STRING_LITERAL_LONG2 | COMMENT | REFERENCE | LESS_EQUAL |
		// GREATER_EQUAL | NOT_EQUAL | AND | OR | OPEN_BRACE | CLOSE_BRACE |
		// OPEN_CURLY_BRACE | CLOSE_CURLY_BRACE | OPEN_SQUARE_BRACE |
		// CLOSE_SQUARE_BRACE | SEMICOLON | DOT | PLUS | MINUS | ASTERISK |
		// COMMA | NOT | DIVIDE | EQUAL | LESS | GREATER | ANY )
		int alt33 = 82;
		alt33 = dfa33.predict(input);
		switch (alt33) {
		case 1:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:10: WS
		{
			mWS();

		}
			break;
		case 2:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:13: PNAME_NS
		{
			mPNAME_NS();

		}
			break;
		case 3:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:22: PNAME_LN
		{
			mPNAME_LN();

		}
			break;
		case 4:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:31: BASE
		{
			mBASE();

		}
			break;
		case 5:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:36: PREFIX
		{
			mPREFIX();

		}
			break;
		case 6:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:43: SELECT
		{
			mSELECT();

		}
			break;
		case 7:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:50: DISTINCT
		{
			mDISTINCT();

		}
			break;
		case 8:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:59: REDUCED
		{
			mREDUCED();

		}
			break;
		case 9:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:67: CONSTRUCT
		{
			mCONSTRUCT();

		}
			break;
		case 10:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:77: DESCRIBE
		{
			mDESCRIBE();

		}
			break;
		case 11:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:86: ASK
		{
			mASK();

		}
			break;
		case 12:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:90: FROM
		{
			mFROM();

		}
			break;
		case 13:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:95: NAMED
		{
			mNAMED();

		}
			break;
		case 14:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:101: WHERE
		{
			mWHERE();

		}
			break;
		case 15:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:107: ORDER
		{
			mORDER();

		}
			break;
		case 16:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:113: BY
		{
			mBY();

		}
			break;
		case 17:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:116: ASC
		{
			mASC();

		}
			break;
		case 18:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:120: DESC
		{
			mDESC();

		}
			break;
		case 19:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:125: LIMIT
		{
			mLIMIT();

		}
			break;
		case 20:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:131: OFFSET
		{
			mOFFSET();

		}
			break;
		case 21:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:138: OPTIONAL
		{
			mOPTIONAL();

		}
			break;
		case 22:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:147: GRAPH
		{
			mGRAPH();

		}
			break;
		case 23:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:153: UNION
		{
			mUNION();

		}
			break;
		case 24:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:159: FILTER
		{
			mFILTER();

		}
			break;
		case 25:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:166: A
		{
			mA();

		}
			break;
		case 26:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:168: STR
		{
			mSTR();

		}
			break;
		case 27:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:172: LANG
		{
			mLANG();

		}
			break;
		case 28:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:177: LANGMATCHES
		{
			mLANGMATCHES();

		}
			break;
		case 29:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:189: DATATYPE
		{
			mDATATYPE();

		}
			break;
		case 30:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:198: BOUND
		{
			mBOUND();

		}
			break;
		case 31:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:204: SAMETERM
		{
			mSAMETERM();

		}
			break;
		case 32:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:213: ISIRI
		{
			mISIRI();

		}
			break;
		case 33:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:219: ISURI
		{
			mISURI();

		}
			break;
		case 34:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:225: ISBLANK
		{
			mISBLANK();

		}
			break;
		case 35:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:233: ISLITERAL
		{
			mISLITERAL();

		}
			break;
		case 36:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:243: REGEX
		{
			mREGEX();

		}
			break;
		case 37:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:249: TRUE
		{
			mTRUE();

		}
			break;
		case 38:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:254: FALSE
		{
			mFALSE();

		}
			break;
		case 39:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:260: IRI_REF
		{
			mIRI_REF();

		}
			break;
		case 40:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:268:
			// BLANK_NODE_LABEL
		{
			mBLANK_NODE_LABEL();

		}
			break;
		case 41:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:285: VAR1
		{
			mVAR1();

		}
			break;
		case 42:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:290: VAR2
		{
			mVAR2();

		}
			break;
		case 43:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:295: VAR3
		{
			mVAR3();

		}
			break;
		case 44:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:300: LANGTAG
		{
			mLANGTAG();

		}
			break;
		case 45:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:308: INTEGER
		{
			mINTEGER();

		}
			break;
		case 46:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:316: DECIMAL
		{
			mDECIMAL();

		}
			break;
		case 47:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:324: DOUBLE
		{
			mDOUBLE();

		}
			break;
		case 48:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:331:
			// INTEGER_POSITIVE
		{
			mINTEGER_POSITIVE();

		}
			break;
		case 49:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:348:
			// DECIMAL_POSITIVE
		{
			mDECIMAL_POSITIVE();

		}
			break;
		case 50:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:365:
			// DOUBLE_POSITIVE
		{
			mDOUBLE_POSITIVE();

		}
			break;
		case 51:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:381:
			// INTEGER_NEGATIVE
		{
			mINTEGER_NEGATIVE();

		}
			break;
		case 52:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:398:
			// DECIMAL_NEGATIVE
		{
			mDECIMAL_NEGATIVE();

		}
			break;
		case 53:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:415:
			// DOUBLE_NEGATIVE
		{
			mDOUBLE_NEGATIVE();

		}
			break;
		case 54:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:431:
			// STRING_LITERAL1
		{
			mSTRING_LITERAL1();

		}
			break;
		case 55:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:447:
			// STRING_LITERAL2
		{
			mSTRING_LITERAL2();

		}
			break;
		case 56:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:463:
			// STRING_LITERAL_LONG1
		{
			mSTRING_LITERAL_LONG1();

		}
			break;
		case 57:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:484:
			// STRING_LITERAL_LONG2
		{
			mSTRING_LITERAL_LONG2();

		}
			break;
		case 58:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:505: COMMENT
		{
			mCOMMENT();

		}
			break;
		case 59:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:513: REFERENCE
		{
			mREFERENCE();

		}
			break;
		case 60:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:523: LESS_EQUAL
		{
			mLESS_EQUAL();

		}
			break;
		case 61:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:534: GREATER_EQUAL
		{
			mGREATER_EQUAL();

		}
			break;
		case 62:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:548: NOT_EQUAL
		{
			mNOT_EQUAL();

		}
			break;
		case 63:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:558: AND
		{
			mAND();

		}
			break;
		case 64:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:562: OR
		{
			mOR();

		}
			break;
		case 65:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:565: OPEN_BRACE
		{
			mOPEN_BRACE();

		}
			break;
		case 66:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:576: CLOSE_BRACE
		{
			mCLOSE_BRACE();

		}
			break;
		case 67:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:588:
			// OPEN_CURLY_BRACE
		{
			mOPEN_CURLY_BRACE();

		}
			break;
		case 68:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:605:
			// CLOSE_CURLY_BRACE
		{
			mCLOSE_CURLY_BRACE();

		}
			break;
		case 69:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:623:
			// OPEN_SQUARE_BRACE
		{
			mOPEN_SQUARE_BRACE();

		}
			break;
		case 70:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:641:
			// CLOSE_SQUARE_BRACE
		{
			mCLOSE_SQUARE_BRACE();

		}
			break;
		case 71:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:660: SEMICOLON
		{
			mSEMICOLON();

		}
			break;
		case 72:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:670: DOT
		{
			mDOT();

		}
			break;
		case 73:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:674: PLUS
		{
			mPLUS();

		}
			break;
		case 74:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:679: MINUS
		{
			mMINUS();

		}
			break;
		case 75:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:685: ASTERISK
		{
			mASTERISK();

		}
			break;
		case 76:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:694: COMMA
		{
			mCOMMA();

		}
			break;
		case 77:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:700: NOT
		{
			mNOT();

		}
			break;
		case 78:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:704: DIVIDE
		{
			mDIVIDE();

		}
			break;
		case 79:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:711: EQUAL
		{
			mEQUAL();

		}
			break;
		case 80:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:717: LESS
		{
			mLESS();

		}
			break;
		case 81:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:722: GREATER
		{
			mGREATER();

		}
			break;
		case 82:
			// C:\\Dokumente und
			// Einstellungen\\Soeren\\Desktop\\twi_sparql.g:1:730: ANY
		{
			mANY();

		}
			break;

		}

	}

	protected DFA16 dfa16 = new DFA16(this);
	protected DFA33 dfa33 = new DFA33(this);
	static final String DFA16_eotS = "\5\uffff";
	static final String DFA16_eofS = "\5\uffff";
	static final String DFA16_minS = "\2\56\3\uffff";
	static final String DFA16_maxS = "\1\71\1\145\3\uffff";
	static final String DFA16_acceptS = "\2\uffff\1\2\1\1\1\3";
	static final String DFA16_specialS = "\5\uffff}>";
	static final String[] DFA16_transitionS = { "\1\2\1\uffff\12\1",
			"\1\3\1\uffff\12\1\13\uffff\1\4\37\uffff\1\4", "", "", "" };

	static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
	static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
	static final char[] DFA16_min = DFA
			.unpackEncodedStringToUnsignedChars(DFA16_minS);
	static final char[] DFA16_max = DFA
			.unpackEncodedStringToUnsignedChars(DFA16_maxS);
	static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
	static final short[] DFA16_special = DFA
			.unpackEncodedString(DFA16_specialS);
	static final short[][] DFA16_transition;

	static {
		int numStates = DFA16_transitionS.length;
		DFA16_transition = new short[numStates][];
		for (int i = 0; i < numStates; i++) {
			DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
		}
	}

	class DFA16 extends DFA {

		public DFA16(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 16;
			this.eot = DFA16_eot;
			this.eof = DFA16_eof;
			this.min = DFA16_min;
			this.max = DFA16_max;
			this.accept = DFA16_accept;
			this.special = DFA16_special;
			this.transition = DFA16_transition;
		}

		public String getDescription() {
			return "600:1: DOUBLE : ( ( DIGIT )+ DOT ( DIGIT )* EXPONENT | DOT ( DIGIT )+ EXPONENT | ( DIGIT )+ EXPONENT );";
		}
	}

	static final String DFA33_eotS = "\2\uffff\1\61\1\71\5\61\1\105\13\61\1\125\3\61\1\134\1\61\1\136"
			+ "\1\142\1\144\1\147\4\61\1\161\2\61\16\uffff\1\u0080\3\uffff\1\71"
			+ "\33\uffff\1\u009f\12\uffff\1\136\1\uffff\1\u00a0\1\uffff\1\u00a0"
			+ "\1\uffff\1\u00a2\2\uffff\1\u00a6\1\uffff\1\153\1\uffff\1\155\30"
			+ "\uffff\1\u00b1\6\uffff\1\u00b8\1\u00b9\23\uffff\1\u00a0\1\uffff"
			+ "\1\u00cb\1\uffff\1\u00cb\1\uffff\1\u00cd\1\uffff\1\u00cd\2\uffff"
			+ "\1\u00cf\5\uffff\1\u00d5\7\uffff\1\u00db\10\uffff\1\u00e5\6\uffff"
			+ "\1\u00ec\1\uffff\1\u00cb\1\uffff\1\u00cd\1\uffff\1\u00ed\7\uffff"
			+ "\1\u00f4\4\uffff\1\u00f8\1\u00f9\1\u00fa\2\uffff\1\u00fd\1\u00fe"
			+ "\2\uffff\1\u0100\1\u0101\2\uffff\1\u0104\1\u0105\2\uffff\1\u0106"
			+ "\1\u0107\7\uffff\1\u010e\4\uffff\1\u0110\17\uffff\1\u0118\5\uffff"
			+ "\1\u011c\1\uffff\1\u011e\1\u011f\1\u0120\1\u0121\2\uffff\1\u0123"
			+ "\7\uffff\1\u0126\2\uffff\1\u0128\3\uffff\1\u012a\1\uffff";
	static final String DFA33_eofS = "\u012b\uffff";
	static final String DFA33_minS = "\1\0\1\uffff\1\55\1\60\21\55\1\41\1\72\3\60\1\101\1\56\1\60\2\56"
			+ "\3\0\1\136\1\75\1\46\1\174\15\uffff\5\55\1\60\2\uffff\12\55\1\uffff"
			+ "\16\55\1\41\12\uffff\1\56\1\uffff\1\60\1\uffff\1\60\1\uffff\1\56"
			+ "\1\60\1\uffff\1\56\1\60\1\47\1\uffff\1\42\22\uffff\1\55\1\uffff"
			+ "\36\55\2\uffff\1\60\1\uffff\1\60\1\uffff\1\60\1\uffff\1\60\1\uffff"
			+ "\1\60\2\uffff\5\55\1\uffff\6\55\2\uffff\21\55\1\uffff\1\60\1\uffff"
			+ "\1\60\1\uffff\5\55\1\uffff\5\55\1\uffff\11\55\1\uffff\6\55\2\uffff"
			+ "\6\55\1\uffff\3\55\3\uffff\2\55\2\uffff\1\55\2\uffff\2\55\4\uffff"
			+ "\6\55\1\uffff\1\55\1\uffff\7\55\1\uffff\3\55\1\uffff\1\55\4\uffff"
			+ "\1\55\1\uffff\2\55\1\uffff\1\55\1\uffff\1\55\1\uffff";
	static final String DFA33_maxS = "\1\ufffe\1\uffff\23\ufffd\1\ufffe\1\72\4\ufffd\1\145\3\71\3\ufffe"
			+ "\1\136\1\75\1\46\1\174\15\uffff\6\ufffd\2\uffff\12\ufffd\1\uffff"
			+ "\16\ufffd\1\ufffe\12\uffff\1\145\1\uffff\1\145\1\uffff\1\145\1\uffff"
			+ "\1\145\1\71\1\uffff\1\145\1\71\1\47\1\uffff\1\42\22\uffff\1\ufffd"
			+ "\1\uffff\36\ufffd\2\uffff\1\145\1\uffff\1\145\1\uffff\1\145\1\uffff"
			+ "\1\145\1\uffff\1\145\2\uffff\5\ufffd\1\uffff\6\ufffd\2\uffff\21"
			+ "\ufffd\1\uffff\1\145\1\uffff\1\145\1\uffff\5\ufffd\1\uffff\5\ufffd"
			+ "\1\uffff\11\ufffd\1\uffff\6\ufffd\2\uffff\6\ufffd\1\uffff\3\ufffd"
			+ "\3\uffff\2\ufffd\2\uffff\1\ufffd\2\uffff\2\ufffd\4\uffff\6\ufffd"
			+ "\1\uffff\1\ufffd\1\uffff\7\ufffd\1\uffff\3\ufffd\1\uffff\1\ufffd"
			+ "\4\uffff\1\ufffd\1\uffff\2\ufffd\1\uffff\1\ufffd\1\uffff\1\ufffd"
			+ "\1\uffff";
	static final String DFA33_acceptS = "\1\uffff\1\1\44\uffff\1\101\1\102\1\103\1\104\1\105\1\106\1\107"
			+ "\1\113\1\114\1\116\1\117\1\122\1\1\6\uffff\1\2\1\3\12\uffff\1\31"
			+ "\17\uffff\1\120\1\47\1\50\1\51\1\52\1\76\1\53\1\115\1\54\1\55\1"
			+ "\uffff\1\57\1\uffff\1\110\1\uffff\1\111\2\uffff\1\112\3\uffff\1"
			+ "\66\1\uffff\1\67\1\72\1\73\1\75\1\121\1\77\1\100\1\101\1\102\1\103"
			+ "\1\104\1\105\1\106\1\107\1\113\1\114\1\116\1\117\1\uffff\1\20\36"
			+ "\uffff\1\74\1\56\1\uffff\1\60\1\uffff\1\62\1\uffff\1\63\1\uffff"
			+ "\1\65\1\uffff\1\70\1\71\5\uffff\1\32\6\uffff\1\13\1\21\21\uffff"
			+ "\1\61\1\uffff\1\64\1\uffff\1\4\5\uffff\1\22\5\uffff\1\14\11\uffff"
			+ "\1\33\6\uffff\1\45\1\36\6\uffff\1\44\3\uffff\1\46\1\15\1\16\2\uffff"
			+ "\1\17\1\23\1\uffff\1\26\1\27\2\uffff\1\40\1\41\1\5\1\6\6\uffff\1"
			+ "\30\1\uffff\1\24\7\uffff\1\10\3\uffff\1\42\1\uffff\1\37\1\12\1\7"
			+ "\1\35\1\uffff\1\25\2\uffff\1\11\1\uffff\1\43\1\uffff\1\34";
	static final String DFA33_specialS = "\u012b\uffff}>";
	static final String[] DFA33_transitionS = {
			"\11\61\2\1\2\61\1\1\22\61\1\1\1\31\1\40\1\41\1\30\1\61\1\44"
					+ "\1\37\1\46\1\47\1\55\1\35\1\56\1\36\1\34\1\57\12\33\1\3\1\54"
					+ "\1\25\1\60\1\43\1\27\1\32\1\22\1\2\1\10\1\6\1\24\1\12\1\17\1"
					+ "\24\1\21\2\24\1\16\1\24\1\13\1\15\1\4\1\24\1\7\1\5\1\23\1\20"
					+ "\1\24\1\14\3\24\1\52\1\61\1\53\1\42\1\26\1\61\1\11\1\2\1\10"
					+ "\1\6\1\24\1\12\1\17\1\24\1\21\2\24\1\16\1\24\1\13\1\15\1\4\1"
					+ "\24\1\7\1\5\1\23\1\20\1\24\1\14\3\24\1\50\1\45\1\51\102\61\27"
					+ "\24\1\61\37\24\1\61\u0208\24\160\61\16\24\1\61\u1c81\24\14\61"
					+ "\2\24\142\61\u0120\24\u0a70\61\u03f0\24\21\61\ua7ff\24\u2100"
					+ "\61\u04d0\24\40\61\u020e\24\1\61",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\63\15\66\1\65\11\66"
					+ "\1\64\1\66\4\uffff\1\66\1\uffff\1\63\15\66\1\65\11\66\1\64\1"
					+ "\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72\105\uffff\27"
					+ "\72\1\uffff\37\72\1\uffff\u0208\72\160\uffff\16\72\1\uffff\u1c81"
					+ "\72\14\uffff\2\72\142\uffff\u0120\72\u0a70\uffff\u03f0\72\21"
					+ "\uffff\ua7ff\72\u2100\uffff\u04d0\72\40\uffff\u020e\72",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\73\10\66\4\uffff"
					+ "\1\66\1\uffff\21\66\1\73\10\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\75\3\66\1\74\16\66\1"
					+ "\76\6\66\4\uffff\1\66\1\uffff\1\75\3\66\1\74\16\66\1\76\6\66"
					+ "\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286\66"
					+ "\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\101\3\66\1\77\3\66\1"
					+ "\100\21\66\4\uffff\1\66\1\uffff\1\101\3\66\1\77\3\66\1\100\21"
					+ "\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\102\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\102\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\16\66\1\103\13\66\4\uffff"
					+ "\1\66\1\uffff\16\66\1\103\13\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\104\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\104\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\110\7\66\1\107\10\66"
					+ "\1\106\10\66\4\uffff\1\66\1\uffff\1\110\7\66\1\107\10\66\1\106"
					+ "\10\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\111\31\66\4\uffff\1"
					+ "\66\1\uffff\1\111\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\7\66\1\112\22\66\4\uffff"
					+ "\1\66\1\uffff\7\66\1\112\22\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\5\66\1\114\11\66\1\113"
					+ "\1\66\1\115\10\66\4\uffff\1\66\1\uffff\5\66\1\114\11\66\1\113"
					+ "\1\66\1\115\10\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66"
					+ "\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2"
					+ "\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66"
					+ "\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\117\7\66\1\116\21\66"
					+ "\4\uffff\1\66\1\uffff\1\117\7\66\1\116\21\66\74\uffff\1\66\10"
					+ "\uffff\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66"
					+ "\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0"
					+ "\66\21\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\120\10\66\4\uffff"
					+ "\1\66\1\uffff\21\66\1\120\10\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\121\14\66\4\uffff"
					+ "\1\66\1\uffff\15\66\1\121\14\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\122\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\122\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\104\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\104\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\123\10\66\4\uffff"
					+ "\1\66\1\uffff\21\66\1\123\10\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\126\1\uffff\31\126\1\uffff\1\124\36\126\1\uffff\1\126\1\uffff"
					+ "\1\126\1\uffff\32\126\3\uffff\uff81\126",
			"\1\127",
			"\12\130\7\uffff\32\130\4\uffff\1\130\1\uffff\32\130\105\uffff"
					+ "\27\130\1\uffff\37\130\1\uffff\u0208\130\160\uffff\16\130\1"
					+ "\uffff\u1c81\130\14\uffff\2\130\142\uffff\u0120\130\u0a70\uffff"
					+ "\u03f0\130\21\uffff\ua7ff\130\u2100\uffff\u04d0\130\40\uffff"
					+ "\u020e\130",
			"\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131\105\uffff"
					+ "\27\131\1\uffff\37\131\1\uffff\u0208\131\160\uffff\16\131\1"
					+ "\uffff\u1c81\131\14\uffff\2\131\142\uffff\u0120\131\u0a70\uffff"
					+ "\u03f0\131\21\uffff\ua7ff\131\u2100\uffff\u04d0\131\40\uffff"
					+ "\u020e\131",
			"\12\133\3\uffff\1\132\3\uffff\32\133\4\uffff\1\133\1\uffff\32"
					+ "\133\105\uffff\27\133\1\uffff\37\133\1\uffff\u0208\133\160\uffff"
					+ "\16\133\1\uffff\u1c81\133\14\uffff\2\133\142\uffff\u0120\133"
					+ "\u0a70\uffff\u03f0\133\21\uffff\ua7ff\133\u2100\uffff\u04d0"
					+ "\133\40\uffff\u020e\133",
			"\32\135\6\uffff\32\135\105\uffff\27\135\1\uffff\37\135\1\uffff"
					+ "\u0208\135\160\uffff\16\135\1\uffff\u1c81\135\14\uffff\2\135"
					+ "\142\uffff\u0120\135\u0a70\uffff\u03f0\135\21\uffff\ua7ff\135"
					+ "\u2100\uffff\u04d0\135\40\uffff\u020e\135",
			"\1\141\1\uffff\12\137\13\uffff\1\140\37\uffff\1\140",
			"\12\143",
			"\1\146\1\uffff\12\145",
			"\1\151\1\uffff\12\150",
			"\12\153\1\uffff\2\153\1\uffff\31\153\1\152\uffd7\153",
			"\12\155\1\uffff\2\155\1\uffff\24\155\1\154\uffdc\155",
			"\uffff\156",
			"\1\157",
			"\1\160",
			"\1\162",
			"\1\163",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\177\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\177\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\24\66\1\u0081\5\66\4\uffff"
					+ "\1\66\1\uffff\24\66\1\u0081\5\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72\105\uffff\27"
					+ "\72\1\uffff\37\72\1\uffff\u0208\72\160\uffff\16\72\1\uffff\u1c81"
					+ "\72\14\uffff\2\72\142\uffff\u0120\72\u0a70\uffff\u03f0\72\21"
					+ "\uffff\ua7ff\72\u2100\uffff\u04d0\72\40\uffff\u020e\72",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0082\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0082\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u0083\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u0083\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u0084\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u0084\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u0085\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u0085\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u0086\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u0086\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u0087\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u0087\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u0088\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u0088\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\3\66\1\u008a\2\66\1\u0089"
					+ "\23\66\4\uffff\1\66\1\uffff\3\66\1\u008a\2\66\1\u0089\23\66"
					+ "\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286\66"
					+ "\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u008b\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u008b\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u008d\7\66\1\u008c"
					+ "\17\66\4\uffff\1\66\1\uffff\2\66\1\u008d\7\66\1\u008c\17\66"
					+ "\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286\66"
					+ "\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\16\66\1\u008e\13\66\4"
					+ "\uffff\1\66\1\uffff\16\66\1\u008e\13\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u008f\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u008f\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u0090\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u0090\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u0091\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u0091\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0092\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0092\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u0093\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u0093\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\5\66\1\u0094\24\66\4\uffff"
					+ "\1\66\1\uffff\5\66\1\u0094\24\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\3\66\1\u0095\26\66\4\uffff"
					+ "\1\66\1\uffff\3\66\1\u0095\26\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u0096\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u0096\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u0097\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u0097\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u0098\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u0098\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u0099\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u0099\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\66\1\u009a\6\66\1\u009c"
					+ "\2\66\1\u009b\10\66\1\u009d\5\66\4\uffff\1\66\1\uffff\1\66\1"
					+ "\u009a\6\66\1\u009c\2\66\1\u009b\10\66\1\u009d\5\66\74\uffff"
					+ "\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff"
					+ "\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70"
					+ "\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff"
					+ "\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\24\66\1\u009e\5\66\4\uffff"
					+ "\1\66\1\uffff\24\66\1\u009e\5\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\126\1\uffff\31\126\1\uffff\37\126\1\uffff\1\126\1\uffff\1"
					+ "\126\1\uffff\32\126\3\uffff\uff81\126",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\141\1\uffff\12\137\13\uffff\1\140\37\uffff\1\140",
			"",
			"\12\u00a1\13\uffff\1\140\37\uffff\1\140",
			"",
			"\12\143\13\uffff\1\140\37\uffff\1\140",
			"",
			"\1\u00a3\1\uffff\12\145\13\uffff\1\u00a4\37\uffff\1\u00a4",
			"\12\u00a5",
			"",
			"\1\u00a7\1\uffff\12\150\13\uffff\1\u00a8\37\uffff\1\u00a8",
			"\12\u00a9",
			"\1\u00aa",
			"",
			"\1\u00ab",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00ac\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00ac\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u00ad\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u00ad\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\5\66\1\u00ae\24\66\4\uffff"
					+ "\1\66\1\uffff\5\66\1\u00ae\24\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00af\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00af\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00b0\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00b0\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u00b2\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u00b2\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00b3\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00b3\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u00b4\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u00b4\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00b5\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00b5\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\24\66\1\u00b6\5\66\4\uffff"
					+ "\1\66\1\uffff\24\66\1\u00b6\5\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u00b7\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u00b7\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u00ba\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u00ba\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00bb\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00bb\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u00bc\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u00bc\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00bd\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00bd\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00be\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00be\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00bf\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00bf\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u00c0\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u00c0\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00c1\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00c1\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00c2\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00c2\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\6\66\1\u00c3\23\66\4\uffff"
					+ "\1\66\1\uffff\6\66\1\u00c3\23\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\17\66\1\u00c4\12\66\4"
					+ "\uffff\1\66\1\uffff\17\66\1\u00c4\12\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\16\66\1\u00c5\13\66\4"
					+ "\uffff\1\66\1\uffff\16\66\1\u00c5\13\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u00c6\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u00c6\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00c7\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00c7\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00c8\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00c8\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00c9\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00c9\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00ca\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00ca\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"",
			"\12\u00a1\13\uffff\1\140\37\uffff\1\140",
			"",
			"\12\u00cc\13\uffff\1\u00a4\37\uffff\1\u00a4",
			"",
			"\12\u00a5\13\uffff\1\u00a4\37\uffff\1\u00a4",
			"",
			"\12\u00ce\13\uffff\1\u00a8\37\uffff\1\u00a8",
			"",
			"\12\u00a9\13\uffff\1\u00a8\37\uffff\1\u00a8",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\3\66\1\u00d0\26\66\4\uffff"
					+ "\1\66\1\uffff\3\66\1\u00d0\26\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00d1\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00d1\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u00d2\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u00d2\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00d3\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00d3\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00d4\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00d4\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00d6\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00d6\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00d7\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00d7\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\27\66\1\u00d8\2\66\4\uffff"
					+ "\1\66\1\uffff\27\66\1\u00d8\2\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u00d9\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u00d9\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00da\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00da\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00dc\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00dc\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00dd\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00dd\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\3\66\1\u00de\26\66\4\uffff"
					+ "\1\66\1\uffff\3\66\1\u00de\26\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00df\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00df\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\16\66\1\u00e0\13\66\4"
					+ "\uffff\1\66\1\uffff\16\66\1\u00e0\13\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00e1\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00e1\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00e2\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00e2\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00e3\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00e3\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u00e4\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u00e4\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\7\66\1\u00e6\22\66\4\uffff"
					+ "\1\66\1\uffff\7\66\1\u00e6\22\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u00e7\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u00e7\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u00e8\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u00e8\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00e9\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00e9\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00ea\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00ea\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00eb\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00eb\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"\12\u00cc\13\uffff\1\u00a4\37\uffff\1\u00a4",
			"",
			"\12\u00ce\13\uffff\1\u00a8\37\uffff\1\u00a8",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\27\66\1\u00ee\2\66\4\uffff"
					+ "\1\66\1\uffff\27\66\1\u00ee\2\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00ef\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00ef\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00f0\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00f0\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\10\66\1\u00f1\21\66\4"
					+ "\uffff\1\66\1\uffff\10\66\1\u00f1\21\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u00f2\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u00f2\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\30\66\1\u00f3\1\66\4\uffff"
					+ "\1\66\1\uffff\30\66\1\u00f3\1\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u00f5\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u00f5\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00f6\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00f6\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u00f7\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u00f7\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u00fb\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u00fb\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u00fc\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u00fc\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u00ff\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u00ff\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\15\66\1\u0102\14\66\4"
					+ "\uffff\1\66\1\uffff\15\66\1\u0102\14\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0103\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0103\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u0108\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u0108\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\66\1\u0109\30\66\4\uffff"
					+ "\1\66\1\uffff\1\66\1\u0109\30\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u010a\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u010a\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\17\66\1\u010b\12\66\4"
					+ "\uffff\1\66\1\uffff\17\66\1\u010b\12\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\3\66\1\u010c\26\66\4\uffff"
					+ "\1\66\1\uffff\3\66\1\u010c\26\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\24\66\1\u010d\5\66\4\uffff"
					+ "\1\66\1\uffff\24\66\1\u010d\5\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u010f\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u010f\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u0111\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u0111\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\12\66\1\u0112\17\66\4"
					+ "\uffff\1\66\1\uffff\12\66\1\u0112\17\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\21\66\1\u0113\10\66\4"
					+ "\uffff\1\66\1\uffff\21\66\1\u0113\10\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\14\66\1\u0114\15\66\4"
					+ "\uffff\1\66\1\uffff\14\66\1\u0114\15\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0115\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0115\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u0116\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u0116\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0117\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0117\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u0119\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u0119\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u011a\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u011a\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\2\66\1\u011b\27\66\4\uffff"
					+ "\1\66\1\uffff\2\66\1\u011b\27\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\1\u011d\31\66\4\uffff"
					+ "\1\66\1\uffff\1\u011d\31\66\74\uffff\1\66\10\uffff\27\66\1\uffff"
					+ "\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff"
					+ "\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff"
					+ "\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\23\66\1\u0122\6\66\4\uffff"
					+ "\1\66\1\uffff\23\66\1\u0122\6\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\7\66\1\u0124\22\66\4\uffff"
					+ "\1\66\1\uffff\7\66\1\u0124\22\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\13\66\1\u0125\16\66\4"
					+ "\uffff\1\66\1\uffff\13\66\1\u0125\16\66\74\uffff\1\66\10\uffff"
					+ "\27\66\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff"
					+ "\2\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"",
			"",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\4\66\1\u0127\25\66\4\uffff"
					+ "\1\66\1\uffff\4\66\1\u0127\25\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\22\66\1\u0129\7\66\4\uffff"
					+ "\1\66\1\uffff\22\66\1\u0129\7\66\74\uffff\1\66\10\uffff\27\66"
					+ "\1\uffff\37\66\1\uffff\u0286\66\1\uffff\u1c81\66\14\uffff\2"
					+ "\66\61\uffff\2\66\57\uffff\u0120\66\u0a70\uffff\u03f0\66\21"
					+ "\uffff\ua7ff\66\u2100\uffff\u04d0\66\40\uffff\u020e\66",
			"",
			"\1\66\1\67\1\uffff\12\66\1\70\6\uffff\32\66\4\uffff\1\66\1\uffff"
					+ "\32\66\74\uffff\1\66\10\uffff\27\66\1\uffff\37\66\1\uffff\u0286"
					+ "\66\1\uffff\u1c81\66\14\uffff\2\66\61\uffff\2\66\57\uffff\u0120"
					+ "\66\u0a70\uffff\u03f0\66\21\uffff\ua7ff\66\u2100\uffff\u04d0"
					+ "\66\40\uffff\u020e\66", "" };

	static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS);
	static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS);
	static final char[] DFA33_min = DFA
			.unpackEncodedStringToUnsignedChars(DFA33_minS);
	static final char[] DFA33_max = DFA
			.unpackEncodedStringToUnsignedChars(DFA33_maxS);
	static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS);
	static final short[] DFA33_special = DFA
			.unpackEncodedString(DFA33_specialS);
	static final short[][] DFA33_transition;

	static {
		int numStates = DFA33_transitionS.length;
		DFA33_transition = new short[numStates][];
		for (int i = 0; i < numStates; i++) {
			DFA33_transition[i] = DFA.unpackEncodedString(DFA33_transitionS[i]);
		}
	}

	class DFA33 extends DFA {

		public DFA33(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 33;
			this.eot = DFA33_eot;
			this.eof = DFA33_eof;
			this.min = DFA33_min;
			this.max = DFA33_max;
			this.accept = DFA33_accept;
			this.special = DFA33_special;
			this.transition = DFA33_transition;
		}

		public String getDescription() {
			return "1:1: Tokens : ( WS | PNAME_NS | PNAME_LN | BASE | PREFIX | SELECT | DISTINCT | REDUCED | CONSTRUCT | DESCRIBE | ASK | FROM | NAMED | WHERE | ORDER | BY | ASC | DESC | LIMIT | OFFSET | OPTIONAL | GRAPH | UNION | FILTER | A | STR | LANG | LANGMATCHES | DATATYPE | BOUND | SAMETERM | ISIRI | ISURI | ISBLANK | ISLITERAL | REGEX | TRUE | FALSE | IRI_REF | BLANK_NODE_LABEL | VAR1 | VAR2 | VAR3 | LANGTAG | INTEGER | DECIMAL | DOUBLE | INTEGER_POSITIVE | DECIMAL_POSITIVE | DOUBLE_POSITIVE | INTEGER_NEGATIVE | DECIMAL_NEGATIVE | DOUBLE_NEGATIVE | STRING_LITERAL1 | STRING_LITERAL2 | STRING_LITERAL_LONG1 | STRING_LITERAL_LONG2 | COMMENT | REFERENCE | LESS_EQUAL | GREATER_EQUAL | NOT_EQUAL | AND | OR | OPEN_BRACE | CLOSE_BRACE | OPEN_CURLY_BRACE | CLOSE_CURLY_BRACE | OPEN_SQUARE_BRACE | CLOSE_SQUARE_BRACE | SEMICOLON | DOT | PLUS | MINUS | ASTERISK | COMMA | NOT | DIVIDE | EQUAL | LESS | GREATER | ANY );";
		}
	}

}